三劍客之sed

例題一:將/etc/passwd的內容列出並且打印行號,同時,請將第2-5行刪除

[root@webserver logs]# nl /etc/passwd|sed '2,5d'
     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
     9  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    10  uucp:x:10:14:uucp:/var/spool/uucp:/sbin/no

例題二:將/etc/passwd的內容列出並且打印行號,同時,請將第3-尾行刪除

[root@webserver logs]# nl /etc/passwd|sed '3,$d'
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin

注意:$代表最後一行

例題三:在第二行後添加 liuyalei test

[root@webserver logs]# nl /etc/passwd|sed  '2a liuyalei test' 
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
liuyalei test
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4  adm:x:3:4:adm:/var/adm:/sbin/nologin

例題四:在第二行前面添加 liuyalei test

[root@webserver logs]# nl /etc/passwd|sed  '2i liuyalei test'
     1  root:x:0:0:root:/root:/bin/bash
liuyalei test
     2  bin:x:1:1:bin:/bin:/sbin/nologin
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin

例題五:在第二行前面添加 liuyalei test1 和 liuyalti test2兩行

[root@webserver logs]# nl /etc/passwd|sed  '2i liuyalei test\
> liuyalei test2'
     1  root:x:0:0:root:/root:/bin/bash
liuyalei test
liuyalei test2
     2  bin:x:1:1:bin:/bin:/sbin/nologin

注意:\是來新增行用的

例題六:把2-5行的內容替換爲 liuyalei test

[root@mail_bk tmp]# nl /etc/passwd|sed '2,5c liuyalei test'
     1  root:x:0:0:root:/root:/bin/bash
liuyalei test
     6  sync:x:5:0:sync:/sbin:/bin/sync

例題七:列出2-5行內容

[root@mail_bk tmp]# nl /etc/passwd|sed -n '2,5p'          
     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

例題八:講nologin字符替換爲liuyalei

[root@mail_bk tmp]# nl /etc/passwd|sed  's/nologin/liuyalei/g' 
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/liuyalei
     3  daemon:x:2:2:daemon:/sbin:/sbin/liuyalei
     4  adm:x:3:4:adm:/var/adm:/sbin/liuyalei
     5  lp:x:4:7:lp:/var/spool/lpd:/sbin/liuyalei

例題九:取出ip地址

[root@mail_bk tmp]# ifconfig eth0|sed -n '2p'|sed 's/.*inet addr://g'|sed 's/B.*$//g'   
10.0.0.31


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章