我的问题几乎与此问题相同:Bash remove everything after </html>。但是,答案
sed -i '/<\/html>/,$d;$a <\/html>' yourfile
也正在剥离标签。我已经尝试了各种sed命令和|管道另一个命令重新添加结束标记,但没有任何效果。
简而言之,我试图删除标签后的所有内容,即使是在同一条线上也是如此。
答案 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)。