在包含'/'的行下插入字符串

时间:2016-11-03 09:37:22

标签: bash sed

我的文件包含:

hello
test1
DocumentRoot /var/www/html/
test2
hey

现在我尝试在“world”行下添加“DocumentRoot /var/www/html/”一词

所以它看起来像这样:

hello
test1
DocumentRoot /var/www/html/
world
test2
hey

对我来说很难,因为上面的行包含“/” 我试过这个,但它不起作用:

sed 's/DocumentRoot /var/#www/#html/#\ /DocumentRoot /var/#www/#html/#\nworld/' file

它给了我一个完全错误的输出

hallo
test1
var/var/www/html/
test2
hey

1 个答案:

答案 0 :(得分:2)

将分隔符更改为斜杠以外的字符,并使用a命令追加字符串:

sed '\#DocumentRoot /var/www/html/#a\
world' file

我在这里使用#作为分隔符。在某些版本的sed中,你可以将所有这些放在同一行,但我写的方式更便携。