linux 运维日记,2019-04-18LInux运维第十七天日记总结

Linux三剑客---sed命令

三剑客的功能

grep 过滤

sed 增删改查 过滤,替换(修改)取行

awk 过滤,取列,统计计算

grep参数补充

参数-l grep过滤的时候只显示文件名,不显示文件内容

参数-R递归式进行过滤

参数-A显示grep找出的内容,及接下来的几行

参数-B显示grep找出的内容,及以上的几行

参数-C相当于-A -B -C2=-A2 -B2

参数-c统计包含内容的行数

sed steam editor 流编辑器

参数-n不显示默认输出(sed命令查找默认会把文件所有内容输出到屏幕)

参数-i修改文件内容(加参数-i才真正修改文件内容)

-i.bak先备份文件,在修改文件内容

参数-r可以支持扩展正则

查找 p print 查看 一般与-n一起使用

根据行号进行查找

sed -n ‘5p’ 文件名 查找第5行

sed -n ‘5!p’ 文件名 不显示第5换行

多行查找

sed -n ‘1,5p’ 文件名 查找第1到5行的内容

使用正则查找

sed -n ‘/要查找的内容/p’ 文件名

使用正则范围查找

sed -n ‘/开始查找的范围/,/结束查找的范围/p’ 文件名

[root@oldboyedu59 /oldboy]# cat lidao.txt

101,oldboy,CEO

102,zhangyao,CTO

12306,nidaye,hh

103,Alex,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

[root@oldboyedu59 /oldboy]# sed -n '5p' lidao.txt

104,yy,CFO

[root@oldboyedu59 /oldboy]# sed -n '5!p' lidao.txt

101,oldboy,CEO

102,zhangyao,CTO

12306,nidaye,hh

103,Alex,COO

105,feixue,CIO

110,lidao,COCO

[root@oldboyedu59 /oldboy]# sed -n '1,5p' lidao.txt

101,oldboy,CEO

102,zhangyao,CTO

12306,nidaye,hh

103,Alex,COO

104,yy,CFO

[root@oldboyedu59 /oldboy]# sed -nr '/oldboy/p' lidao.txt

101,oldboy,CEO

[root@oldboyedu59 /oldboy]# sed -nr '/oldboy/,/Alex/p' lidao.txt

101,oldboy,CEO

102,zhangyao,CTO

12306,nidaye,hh

103,Alex,COO

增加 a append 追加

sed ‘3a要插入的信息’ 文件名 在第三行的下面追加1行

i insert 插入

sed ‘3i要插入的信息’ 文件名 在第三行的上面插入1行

c replace

sed ‘3c要插入的信息’ 文件名 先清空第3行的内容,然后在写入

[root@oldboyedu59 /oldboy]# cat lidao.txt

101,oldboy,CEO

102,zhangyao,CTO

12306,nidaye,hh

103,Alex,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

[root@oldboyedu59 /oldboy]# sed '3aoldboy' lidao.txt

101,oldboy,CEO

102,zhangyao,CTO

12306,nidaye,hh

oldboy

103,Alex,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

[root@oldboyedu59 /oldboy]# sed '3ioldboy' lidao.txt

101,oldboy,CEO

102,zhangyao,CTO

oldboy

12306,nidaye,hh

103,Alex,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

[root@oldboyedu59 /oldboy]# sed '3coldboy' lidao.txt

101,oldboy,CEO

102,zhangyao,CTO

oldboy

103,Alex,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

删除 d delete 删除

sed ‘3d’ 文件名 删除文件的第3行内容

[root@oldboyedu59 /oldboy]# cat lidao.txt

101,oldboy,CEO

102,zhangyao,CTO

12306,nidaye,hh

103,Alex,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

[root@oldboyedu59 /oldboy]# sed '3d' lidao.txt

101,oldboy,CEO

102,zhangyao,CTO

103,Alex,COO

104,yy,CFO

105,feixue,CIO

110,lidao,COCO

修改 s 简写sub

sed ‘s###g’ 文件名 全局替换

s 替换 g global全局

sed默认替换每一行的第一个内容(匹配到的第一个内容),如果有g则进行全局替换,替换每一行中匹配到的内容

在前面(##)之间的内容,通过()小括号保护起来(整合成一个整体),

在后面(##)之间通过(\数字)来使用(第几个小括号,数字就是几)

echo 123456|sed -r 's#(.*)##g'

<123456>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值