2013年3月11日 星期一 晴



SED



一、复制文件



[root@desktop7 ~]# cp /etc/passwd sed.txt


[root@desktop7 ~]# cat sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin


nobody:x:99:99:Nobody:/:/sbin/nologin


nscd:x:28:28:NSCD Daemon:/:/sbin/nologin


vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin


pcap:x:77:77::/var/arpwatch:/sbin/nologin


ntp:x:38:38::/etc/ntp:/sbin/nologin




[root@desktop7 ~]# vim sed.txt



  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


  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 news:x:9:13:news:/etc/news:


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


 12 operator:x:11:0:operator:/root:/sbin/nologin


 13 games:x:12:100:games:/usr/games:/sbin/nologin


 14 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


~                                                                                                        


~                                                    



二、具体操作



1、删除2-5行,对比原文件



[root@desktop7 ~]# sed '2,5d' sed.txt


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


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin



[root@desktop7 ~]# cat sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



原文件未变



2、将更改结果输入文件



[root@desktop7 ~]# sed -i '2,5d' sed.txt



[root@desktop7 ~]# cat sed.txt


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


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



文件内容改变



3、追加内容



[root@desktop7 ~]# sed '1a test' sed.txt


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


test


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



[root@desktop7 ~]# cat sed.txt


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


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



原文件未变



4、追加内容后导入新文件



[root@desktop7 ~]# sed '1a test' sed.txt >new.txt



[root@desktop7 ~]# cat new.txt


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


test


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



5、插入新内容到文件



[root@desktop7 ~]# sed '1i test' sed.txt >new.txt



[root@desktop7 ~]# cat new.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



6、行尾加内容



[root@desktop7 ~]# sed '$a test' sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


test



7、行尾插入内容



[root@desktop7 ~]# sed '$i test' sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


test


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



8、替换



(1)替换单独一行



[root@desktop7 ~]# sed '2c OVE' sed.txt


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


OVE


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



对比原文件(无bin的第二行)



[root@desktop7 ~]# cat sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



(2)替换字符



[root@desktop7 ~]# sed 's/o/A/' sed.txt


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


bin:x:1:1:bin:/bin:/sbin/nAlogin


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


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


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


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


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


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


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


news:x:9:13:news:/etc/news:


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


Aperator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nAlogin


gApher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



对比



[root@desktop7 ~]# cat sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



全部替换



[root@desktop7 ~]# sed 's/o/A/g' sed.txt


rAAt:x:0:0:rAAt:/rAAt:/bin/bash


bin:x:1:1:bin:/bin:/sbin/nAlAgin


daemAn:x:2:2:daemAn:/sbin:/sbin/nAlAgin


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


lp:x:4:7:lp:/var/spAAl/lpd:/sbin/nAlAgin


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


shutdAwn:x:6:0:shutdAwn:/sbin:/sbin/shutdAwn


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


mail:x:8:12:mail:/var/spAAl/mail:/sbin/nAlAgin


news:x:9:13:news:/etc/news:


uucp:x:10:14:uucp:/var/spAAl/uucp:/sbin/nAlAgin


AperatAr:x:11:0:AperatAr:/rAAt:/sbin/nAlAgin


games:x:12:100:games:/usr/games:/sbin/nAlAgin


gApher:x:13:30:gApher:/var/gApher:/sbin/nAlAgin


[root@desktop7 ~]#



对比原文(无变化)



[root@desktop7 ~]# cat sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



9、正则表达式



[root@desktop7 ~]# sed '/o/a echo=hello/' sed.txt


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


echo=hello/


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


echo=hello/


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


echo=hello/


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


echo=hello/


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


echo=hello/


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


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


echo=hello/


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


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


echo=hello/


news:x:9:13:news:/etc/news:


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


echo=hello/


operator:x:11:0:operator:/root:/sbin/nologin


echo=hello/


games:x:12:100:games:/usr/games:/sbin/nologin


echo=hello/


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


echo=hello/



对比



[root@desktop7 ~]# sed '/o/a echo=hello' sed.txt


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


echo=hello


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


echo=hello


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


echo=hello


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


echo=hello


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


echo=hello


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


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


echo=hello


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


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


echo=hello


news:x:9:13:news:/etc/news:


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


echo=hello


operator:x:11:0:operator:/root:/sbin/nologin


echo=hello


games:x:12:100:games:/usr/games:/sbin/nologin


echo=hello


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


echo=hello


[root@desktop7 ~]#



再测



[root@desktop7 ~]# sed '/oo/a echo=hello' sed.txt


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


echo=hello


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


echo=hello


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


echo=hello


news:x:9:13:news:/etc/news:


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


echo=hello


operator:x:11:0:operator:/root:/sbin/nologin


echo=hello


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



原文



[root@desktop7 ~]# cat sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]# sed '/oo/a echo=hello' sed.txt



insert插入



[root@desktop7 ~]# sed '/^g/i hello' sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


hello


games:x:12:100:games:/usr/games:/sbin/nologin


hello


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



9、静默模式



[root@desktop7 ~]# sed -n '/^g/i hello' sed.txt


hello


hello



10、编辑脚本文件



(1)追加a



[root@desktop7 ~]# vim jiaoben.txt


 2a 曾经,有一段真挚的感情摆在我面前,我没有珍惜。



(意为第二行追加内容——加于第三行)



使用脚本文件



[root@desktop7 ~]# sed -f jiaoben.txt sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



(2)insert插入



[root@desktop7 ~]# vim jiaoben.txt


 2i 曾经,有一段真挚的感情摆在我面前,我没有珍惜。



(第二行插入内容——插于第二行)



[root@desktop7 ~]# sed -f jiaoben.txt sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



(3)y 替换字符



[root@desktop7 ~]# vim jiaoben.txt


y/abco/ABCO/



(将小写字符abco替换为ABCO)



[root@desktop7 ~]# sed -f jiaoben.txt sed.txt


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


news:x:9:13:news:/etC/news:


uuCp:x:10:14:uuCp:/vAr/spOOl/uuCp:/sBin/nOlOgin


OperAtOr:x:11:0:OperAtOr:/rOOt:/sBin/nOlOgin


gAmes:x:12:100:gAmes:/usr/gAmes:/sBin/nOlOgin


gOpher:x:13:30:gOpher:/vAr/gOpher:/sBin/nOlOgin


[root@desktop7 ~]#



(4)n,m增加内容(从n行到m行)



[root@desktop7 ~]# vim jiaoben.txt


3,5 a 创新测试



[root@desktop7 ~]# sed -f jiaoben.txt sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



(对原文第三行到第五行进行操作,每行都加入内容。结果如上)



(5)n~m的操作(从第n行起,每隔m行进行操作)



[root@desktop7 ~]# vim jiaoben.txt


3~5 a 增加新内容,如下:hello,everyone



[root@desktop7 ~]# sed -f jiaoben.txt sed.txt


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


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


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


增加新内容,如下:hello,everyone


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


增加新内容,如下:hello,everyone


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


增加新内容,如下:hello,everyone


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


[root@desktop7 ~]#



(从第3行起,每隔5行新增内容)



(6)替换



[root@desktop7 ~]# vim jiaoben.txt


s/:/#/g



[root@desktop7 ~]# sed -f jiaoben.txt sed.txt


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


news#x#9#13#news#/etc/news#


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


operator#x#11#0#operator#/root#/sbin/nologin


games#x#12#100#games#/usr/games#/sbin/nologin


gopher#x#13#30#gopher#/var/gopher#/sbin/nologin


[root@desktop7 ~]#



(7)多个内容同时替换



a、原文件一行的简单编辑



原文件



[root@desktop7 ~]# vim lianxi.txt



<html><title>课堂练习</title><body>曾经,有一段真挚的感情摆在我的面前,我没有珍惜。当我失去的时候,才追悔莫及。如果上天在给我一次重来的机会,我愿意对那个女孩说三个字:“I LOVE YOU”。如果非要在它的前面加一个期限>的话,我希望是——一万年!!!</body></html>



编辑脚本文件



/<html>/{s//\/\/html/2}


/<title>/{s//\/\/title/2}


/<body>/{s//\/\/body/2}



替换



[root@desktop7 ~]# sed -f sed2.txt lianxi.txt


<html><title>课堂练习<///title><body>曾经,有一段真挚的感情摆在我的面前,我没有珍惜。当我失去的时候,才追悔莫及。如果上天在给我一次重来的机会,我愿意对那个女孩说三个字:“I LOVE YOU”。如果非要在它的前面加一个期限的话,我希望是——一万年!!!<///body><///html>


[root@desktop7 ~]#



b、列出奇数偶数行



原文



[root@desktop7 ~]# vim sed.txt


  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


  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 news:x:9:13:news:/etc/news:


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


 12 operator:x:11:0:operator:/root:/sbin/nologin


 13 games:x:12:100:games:/usr/games:/sbin/nologin


 14 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin



列出奇数行


 


[root@desktop7 ~]# sed -n "1~2p" sed.txt >001.txt



[root@desktop7 ~]# vim 001.txt


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


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


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


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


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


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


  7 games:x:12:100:games:/usr/games:/sbin/nologin




列出偶数行



[root@desktop7 ~]# sed -n "2~2p" sed.txt >002.txt



[root@desktop7 ~]# vim 002.txt


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


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


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


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


  5 news:x:9:13:news:/etc/news:


  6 operator:x:11:0:operator:/root:/sbin/nologin


  7 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


 


[root@desktop7 ~]# vim sed2.txt


\c(oo|ro?t)c{


p


}



[root@desktop7 ~]# vim sed.txt


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


news:x:9:13:news:/etc/news:


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


operator:x:11:0:operator:/root:/sbin/nologin


games:x:12:100:games:/usr/games:/sbin/nologin


gopher:x:13:30:gopher:/var/gopher:/sbin/nologin


~  


                                                 


[root@desktop7 ~]# sed -n -r -f sed2.txt sed.txt


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


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


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


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


operator:x:11:0:operator:/root:/sbin/nologin


[root@desktop7 ~]#




 


筛选IP地址



[root@desktop7 ~]# ifconfig eth0|grep 'inet addr'|sed 's/^.*addr://g'|sed 's/Bcast.*$//g'


192.168.0.7