Mar*_*ark 3 regex linux bash sed
我想在php文件中'maildomain'的行后追加port.我真的想要使用这个解决方案,因为这似乎是最干净,非常清楚,所以我做了
sed -i "350,/port/a \'maildomain\'" file.php
Run Code Online (Sandbox Code Playgroud)
但它出来是这样的:
351 : 'maildomain'
352 :
353 : 'maildomain'
354 :
...
358 : blablabla port blabla
359 : 'maildomain'
Run Code Online (Sandbox Code Playgroud)
如您所见,它'maildomain'从第350行交替添加,直到找到port它最初位于第354行.如何修改上面的sed命令只是添加'maildomain'之后port而不是之前添加?谢谢.
另外,当使用353而不是350时,它给了我:
353 : 'maildomain'
354 : balsdbflasdbflsd port blablablabla
355 : 'maildomain'
Run Code Online (Sandbox Code Playgroud)
为什么?谢谢〜
以下形式的地址x,y是指从所有行x通过y包容,所以350,/port/是指由每行350通过该匹配线/port/的regexp.
如果您只想在该/port/行后追加,只需指定该地址:
sed -i "/port/a \'maildomain\'" file.php
Run Code Online (Sandbox Code Playgroud)