我有一个看起来像这样的文件:
<HTML>
<HEAD>
< ... stuff ... ></HEAD>
< ... stuff ... >
</HTML>
我正在尝试删除HEAD标记之间的所有内容,但似乎无法使其正常工作。
我想
sed -i -e 's/<HEAD>.*<\/HEAD>//g' file.HTML
应该可以工作,但它不会删除任何东西。
sed -i -e '/<HEAD>/,/<\/HEAD>/d' file.HTML
也没有做任何事情。没有错误,只是没有。
我的输入文件有问题,还是有不同的方法可以解决它?
答案 0 :(得分:7)
删除标签之间的所有行:
sed '/<tag>/,/<\/tag>/{//!d}' input.txt
删除标签之间的所有行,包括标签:
sed '/<tag>/,/<\/tag>/d' input.txt
要使用sed -i ...
进行更改。要在备份原始sed -i.bak ...
时进行更改,以便将原始文件保存为input.txt.bak
。