在sed中添加要匹配的文件内容

时间:2018-01-22 14:04:50

标签: text sed

我正在尝试在html文档中附加结束正文标记之前附加文件的内容。我试过了

cat test.html | sed  -e $'/<\/body>/{ r insert.html ... }'

在...中使用\ n \ n,\ n \ n的各种组合,但似乎所有内容都在标记后插入

如果可以在insert.html的内容周围添加其他字符串常量,例如居中标记等,也会很好。

1 个答案:

答案 0 :(得分:2)

如果sed是您的硬性要求,您可以在GNU sed

中尝试此操作
sed '/<\/body>/e cat insert.html' test.html

它使用GNU特定的e shell-commande cat filename此处),与r filename不同,当前周期结束之前执行{在</body>之前处理/打印{1}}行。

注意(来自文档)r filename将:

  

在当前周期结束时或者在读取下一个输入行时,将要读取的文件名的内容排队并插入到输出流中。

e command

  

[...]与r command不同,命令的输出将立即打印;而r command则将输出延迟到当前周期的结束。