请帮助我:
我有一个名为:demo.txt的文件,demo.txt的内容是:
[default]
exten=>test1,hint,SIP/202
exten=>tom,hint,SIP/233
[toyota]
exten=>test1,hint,SIP/202
exten=>tom,hint,SIP/233
[girls]
exten=>test1,hint,SIP/202
exten=>tom,hint,SIP/233
我想要一个脚本在[丰田]之后添加更多行,我需要做一些这样的事情:
[default]
exten=>test1,hint,SIP/202
exten=>tom,hint,SIP/233
[toyota]
exten=>another,hint,SIP/202
exten=>well,hint,SIP/202
exten=>test1,hint,SIP/202
exten=>tom,hint,SIP/233
[girls]
exten=>test1,hint,SIP/202
exten=>tom,hint,SIP/233
我需要另一个脚本来移除位于[丰田]下的一条线 例如,我想要删除:
exten=>well,hint,SIP/202
请告诉我,我怎样才能以简洁的方式做到这一点
谢谢!
答案 0 :(得分:2)
不确定是否要从其他文件添加更多行或只是手动输入它们。如果是后者,那么您可以执行以下操作来添加新行:
awk '/^\[toyota\]/{print $0; print "exten=>another,hint,SIP/202" RS "exten=>well,hint,SIP/202";next}1' demo.txt
删除某些行:
awk '/^\[toyota\]/{p=1}p&&/exten=>well,hint,SIP\/202/{p=0;next}1' demo.txt
答案 1 :(得分:0)
如果sed是一个选项:
添加行
sed '/^\[toyota\]$/ aexten=>another,hint,SIP/202\nexten=>well,hint,SIP/202' demo.txt
删除行
sed '/^\[toyota\]$/, /^\[/ {/exten=>well,hint,SIP\/202/d}' demo.txt