我的问题几乎与这个问题相同:Bash remove all after </html>。然而,答案
sed -i '/<\/html>/,$d;$a <\/html>' yourfile
也在剥离标签。我尝试了各种 sed 命令和 | 管道另一个命令以重新添加结束标记,但没有任何效果。
简而言之,我试图删除标签之后的所有内容,即使是否在同一行。
我的问题几乎与这个问题相同:Bash remove all after </html>。然而,答案
sed -i '/<\/html>/,$d;$a <\/html>' yourfile
也在剥离标签。我尝试了各种 sed 命令和 | 管道另一个命令以重新添加结束标记,但没有任何效果。
简而言之,我试图删除标签之后的所有内容,即使是否在同一行。
单程:
sed -n '1,/<\/html>/{s!</html>.*!</html>!;p}' input
其他:
sed -e 's!</html>.*!</html>!' -e '/<\/html>/q' input
sed -i -n '0,/<\/html>/{s!</html>.*!</html>!;p};q' input
这将删除</html>
同一行之后的任何内容并删除所有后续行(只是;q
添加到 perreal 的第一种方式)。
-i
对我来说很好(GNU sed 4.2.1)。