三剑客之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
相关文章
相关标签/搜索