溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

三劍客之sed牛刀小試(二)

發(fā)布時(shí)間:2020-06-19 12:12:11 來源:網(wǎng)絡(luò) 閱讀:479 作者:chbo_yang 欄目:開發(fā)技術(shù)
  • 文本文件


[root@chbo sed.test]# cat test 

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

[root@chboa sed.test]# nl test|sed -n '/root/p' test

root:x:0:0:root:/root:/bin/bash

  • 操作實(shí)例


1.打印5至7行

[root@chbo sed.test]# nl test|sed -n '5,7p'

     5  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

     6  sync:x:5:0:sync:/sbin:/bin/sync

     7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

2.打印含有root的行

[root@chbo sed.test]# nl test|sed -n '/root/p'

     1  root:x:0:0:root:/root:/bin/bash

3.打印非nologin的行

[root@chboa sed.test]# nl test|sed -n '/nologin$/!p'     

     1  root:x:0:0:root:/root:/bin/bash

     6  sync:x:5:0:sync:/sbin:/bin/sync

     7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

     8  halt:x:7:0:halt:/sbin:/sbin/halt

4.在非nologin行前插入新行,內(nèi)容為:I am chbo_yang.

[root@chbo sed.test]# nl test|sed '/nologin$/!iI am chbo_yang.'       

I am chbo_yang.

     1  root:x:0:0:root:/root:/bin/bash

     2  bin:x:1:1:bin:/bin:/sbin/nologin

     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin

     4  adm:x:3:4:adm:/var/adm:/sbin/nologin

     5  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

I am chbo_yang.

     6  sync:x:5:0:sync:/sbin:/bin/sync

I am chbo_yang.

     7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

I am chbo_yang.

     8  halt:x:7:0:halt:/sbin:/sbin/halt

     9  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

    10  uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

5.將出現(xiàn)的第一個(gè)root替換為chbo

[root@chbo sed.test]# nl test|sed -n 's/root/chbo/p'

     1  chbo:x:0:0:root:/root:/bin/bash

6.將全文中的root替換成chbo

[root@chbo sed.test]# nl test|sed -n 's/root/chbo/gp'

     1  chbo:x:0:0:chbo:/chbo:/bin/bash

7.將2至9行替換為I am chbo.

[root@chboa sed.test]# cat -n test|sed '2,9c I am chbo.'    

     1  root:x:0:0:root:/root:/bin/bash

I am chbo.

    10  uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

  • 打印本機(jī)IP

  這個(gè)只是隨便玩的,方法有很多,組合是任意的。

  目標(biāo):在屏幕上顯示一個(gè)ip地址即可。

  注意:這里主要使用sed命令,grep,cut,awk等命令暫時(shí)不做考慮。

  • 目標(biāo)處理文件:


[root@chboa ~]# awk '{print NR,$0}' /etc/sysconfig/network-scripts/ifcfg-eth0 

1 DEVICE=eth0

2 ONBOOT=yes

3 NM_CONTROLLED=yes

4 BOOTPROTO=none

5 IPADDR=192.168.1.199

6 NETMASK=255.255.255.0

7 GATEWAY=192.168.1.1

8 DNS1=8.8.8.8

9 IPV6INIT=no

10 USERCTL=no

11 TYPE=Ethernet

12 HWADDR=00:0c:29:a3:74:d4

注解:cat -n ;nl ;less -N 都可以給文本加行號

[root@chboa ~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:A3:74:D4  

          inet addr:192.168.1.199  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fea3:74d4/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:3463 errors:0 dropped:0 overruns:0 frame:0

          TX packets:1262 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:331487 (323.7 KiB)  TX bytes:194756 (190.1 KiB)

  • 命令處理:

[root@chboa ~]# sed -n 's/IPADDR=//p' /etc/sysconfig/network-scripts/ifcfg-eth0

192.168.1.199

[root@chboa ~]# ifconfig eth0|sed -n 's#^.*addr:\(.*\)  Bcast.*$#\1#gp' 

192.168.1.199

  • 拓展


[root@chboa ~]# grep -i ipaddr /etc/sysconfig/network-scripts/ifcfg-eth0|awk -F= '{print $2}'

192.168.1.199

[root@chboa ~]# grep -i ipaddr /etc/sysconfig/network-scripts/ifcfg-eth0|cut -d"=" -f2

192.168.1.199

[root@chboa ~]# ifconfig eth0|awk -F"[ :]" 'NR==2{print $13}'

192.168.1.199

[root@chboa ~]# ifconfig eth0|awk -F"[ :]+" 'NR==2{print $4}'

192.168.1.199

[root@chboa ~]# awk -F= 'NR==5{print $2}' /etc/sysconfig/network-scripts/ifcfg-eth0

192.168.1.199




向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI