sed常见用法,删除匹配行的上2行,下3行
删除匹配的下一行到最后一行
[root@test200 ~]# cat test
a
b
c
d
e
f
[root@test200 ~]# sed '/c/{p;:a;N;$!ba;d}' test
a
b
c
定义一个标签a,匹配c,然后N把下一行加到模式空间里,匹配最后一行时,才退出标签循环,然后命令d,把这个模式空间里的内容全部清除。
if 匹配"c"
:a
追加下一行
if 不匹配"$"
goto a
最后退出循环,d命令删除。
删除匹配行和匹配行后的2行
[root@jiangyi01.sqa.zmf /home/ahao.mah/syslog-ng/muahao_tools]
#cat file
hello muahao
I am good
123 1
this is jack
this is jack
fffff
gg
like this
[root@jiangyi01.sqa.zmf /home/ahao.mah/syslog-ng/muahao_tools]
#sed '/muahao/,+1d' file
123 1
this is jack
this is jack
fffff
gg
like this
[root@jiangyi01.sqa.zmf /home/ahao.mah/syslog-ng/muahao_tools]
#sed '/muahao/,+2d' file
this is jack
this is jack
fffff
gg
like this
muahao@aliyun.com