bash在html之后直接删除所有内容

时间:2013-05-20 21:42:29

标签: bash sed

我的问题几乎与此问题相同:Bash remove everything after </html>。但是,答案

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

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

简而言之,我试图删除标签后的所有内容,即使是在同一条线上也是如此。

2 个答案:

答案 0 :(得分:1)

一种方式:

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

另:

sed -e 's!</html>.*!</html>!' -e '/<\/html>/q' input

答案 1 :(得分:0)

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

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