当我试图通过awk读取文件时,我不断收到错误消息.出了什么问题



我有两个名为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

最新更新