sed编辑文本块:不贪婪匹配

sed编辑文本块:不贪婪匹配

我希望我能抓住首先使用 sed 在文件中添加 html 注释。

使用'/<!--/,/-->/并拥有多个评论块,它也会匹配第一个和最后一个评论块之间的所有内容!

有什么建议吗?

这是一个示例:

<!-- 

First comment block

-->

Content

<!--

Second comment block

-->

预期输出应该是:

<!-- 

First comment block

-->

它也应该适用于单行注释。

<!-- First comment block -->

答案1

你会做一些类似的事情:

sed '/<!--/,$!d;/-->/q'

第一个命令删除除第一个匹配项<!--以外的所有行。在那些尚未被第一个命令删除的内容中,我们搜索结束标记并退出(也在打印该行之后)。

使用 perl,去除注释标签:

perl -ln0777 -e 'print $1 if /<!--\s*(.*?)\s*-->/'

相关内容