sed多行模式,修改配置文件

删除livestream.conf中,Substream块Url中不匹配127.0.0.1的块

vim livestream.conf
...

udp://172.20.219.25:8202
mpegts



udp://127.0.0.1:9002
mpegts

...

vim sed.s
// {
:loop
N
/<\/Substream>/!b loop
/127.0.0.1/!d
}

sed -f sed.s livestream.conf

命令解释:
1.匹配的行,执行花括号中的命令组
2.如果没有匹配到
,继续读行到多行模式空间
3.如果匹配到
,结束循环
4.循环结束,说明模式空间中内容为...
5.如果模式空间中内容不匹配127.0.0.1,则删除
6.d删除后,会重新读入行,继续从脚本开头处执行,会继续找下一个

你可能感兴趣的:(sed多行模式,修改配置文件)