我有两个名为test1.HTML和test2.HTML的HTML文件。这些文件的内容是:test1.html
<body>
<p>Hi!</p>
<p>How are you?</p>
</body>
test2.html
<p>Hi!</p>
我正在尝试执行下面的awk命令,将test1.html中的<p>Hi!</p>
替换为test2.html:的全部内容
awk '{sub("<p>Hi!</p>",awk '{print}' test2.html); print}' test1.html
但我不断收到一条语法错误消息"awk:第1行:处或附近有语法错误{awk:1:意外的字符"."awk:第1行:额外的"(">。有没有其他方法可以读取test2.html的内容?
用文件内容定义变量似乎最简单:例如
awk '{sub("<p>Hi!</p>", r)}1' r="$(cat test2.html)" test1.html
这个任务对于sed
:来说应该是微不足道的
sed '/<p>Hi!</p>/{r test2.html
d
}' test1.html