我正在尝试在html文档中附加结束正文标记之前附加文件的内容。我试过了
cat test.html | sed -e $'/<\/body>/{ r insert.html ... }'
在...中使用\ n \ n,\ n \ n的各种组合,但似乎所有内容都在标记后插入。
如果可以在insert.html的内容周围添加其他字符串常量,例如居中标记等,也会很好。
答案 0 :(得分:2)
如果sed
是您的硬性要求,您可以在GNU sed
:
sed '/<\/body>/e cat insert.html' test.html
它使用GNU特定的e shell-command
(e cat filename
此处),与r filename
不同,在当前周期结束之前执行{在</body>
之前处理/打印{1}}行。
注意(来自文档)r filename
将:
在当前周期结束时或者在读取下一个输入行时,将要读取的文件名的内容排队并插入到输出流中。
[...]与
r command
不同,命令的输出将立即打印;而r command
则将输出延迟到当前周期的结束。