【发布时间】:2013-04-05 11:33:02
【问题描述】:
我有一个文件 foo.txt:
$cat foo.txt
<ul>
<li>
<p>something</p>
</li>
<li>
<p>something else</p>
</li>
</ul>
还有一个 bar.txt:
$cat bar.txt
<li>
<p>something</p>
</li>
我想要想要的输出:
<ul>
<li>
<p>something else</p>
</li>
</ul>
我试过了:
$sed '{/r bar.txt/} d' foo.txt
但它不起作用,我做不到:
$sed '/<li>/,/</li>/ d' foo.txt
因为还有其他元素。
【问题讨论】:
-
在 sed 中,r 命令将文件读入输出流,而不是作为脚本的一部分。您使用
sed -f script ...加载脚本,但这不起作用,因为 bar.txt 不是有效的 sed 脚本。您需要一个中间步骤来将 bar.txt 转换为有效的 sed 命令。