0

我的问题几乎与这个问题相同:Bash remove all after </html>。然而,答案

sed -i '/<\/html>/,$d;$a <\/html>' yourfile

也在剥离标签。我尝试了各种 sed 命令和 | 管道另一个命令以重新添加结束标记,但没有任何效果。

简而言之,我试图删除标签之后的所有内容,即使是否在同一行。

4

2 回答 2

1

单程:

sed -n '1,/<\/html>/{s!</html>.*!</html>!;p}' input

其他:

sed -e 's!</html>.*!</html>!' -e '/<\/html>/q' input
于 2013-05-20T21:49:27.710 回答
0
sed -i -n '0,/<\/html>/{s!</html>.*!</html>!;p};q' input

这将删除</html>同一行之后的任何内容并删除所有后续行(只是;q添加到 perreal 的第一种方式)。 -i对我来说很好(GNU sed 4.2.1)。

于 2016-05-11T12:08:44.397 回答