SED搜索文本块,并在该文本块的末尾添加文本

  • 本文关键字:文本 添加 搜索 SED bash sed
  • 更新时间 :
  • 英文 :


需要帮助。一直试图使用sed从httpd.conf中搜索文本块,并在搜索之后,使用sed在文本块中添加文本。这是一个例子。

sed -n '/<Directory "/var/www/html">/,/</Directory>/p' httpd.conf

在该管道之后,再次输出到sed,在前面插入文本,如下所示:

<Directory "/var/www/html">
. . .
# Limit HTTP methods
<LimitExcept GET POST OPTIONS>
Require all denied
</LimitExcept>
</Directory>
然而,在尝试了很多不同的方法后,我仍然不能得到我想要的。有人能帮忙吗?希望这不是一个重复的问题。谢谢。

这可能适合您(GNU sed);

sed -i -e '#<Directory "/var/www/html"#,/</Directory>/{/</Directory>/iINSERTED' -e '}' file

使用范围/first regexp/,/second regexp/command,并使用下面的插入命令重复第二个regexp。