六周第二次课(4月26日)

9.4/9.5 sed

sed的强项在于查找替换
#sed  '/root/'p passwd     匹配出含有root的内容,p是打印的意思

-n选项,和p一起使用,只打印出匹配的行



sed中也是支持+的,不过要使用\来脱义,或者加上-r选项(类似于grep -E)



打印指定的行

#sed -n '2'p passwd           //打印出第二行的内容

# sed -n '2,5'p passwd        //打印2到5行的内容

#sed -n '25,$'p passwd      //打印25行到末尾的内容

# sed -n '1,$'p passwd     //打印全部的内容,图略


在同一个sed表达式中多次匹配   -e

# sed -n -e '/mail/'p -e '/spool/'p passwd  

//对每一行依次进行mail和spool匹配,每次匹配到就打印一次,所以下面两个共有的行就打印了2次

//-e可以有多个


匹配的时候不区分大小写,-I

# sed -n '/bus/'Ip test1


过滤掉指定的行

# sed '1,25'd test1    //过滤掉1到25的内容,也就是显示第25行之后的,并没有删除文件内容,原文件还是33行



-i 删除掉指定的行(会修改文件内容)

# sed -i '1,25'd test1     //删除1到25行的内容

# sed -i '/test1/'d test1   //删除掉含有test1的行



查找替换

sed  '1,5s/root/toor/g' test1      //把1到5行中的root替换为toor



# tail test1 |sed -r 's/([^:]+):(.*):([^:]+)/\3:\2:\1/'

把文件中的首段和末段颠倒位置


对于查找替换的内容里有/字符的,要用\,@或#来脱义



把文档里的所有英文字母删除掉

# tail test1 |sed 's/[a-zA-Z]//'



在所有的行前面添加固定字符串

# tail test1 |sed -r 's/(.*)/ccc:&/'           //&表示小括号里的内容





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值