我想删除 html 文件中的注释标签。
<!--- <script save and execute me> -->
必须成为:
<script save and execute me>
我试过
sed -i s_^<!-- \(.*\) -->$_\1_ text.sed
但这样做会失败,因为 < 和 > 被视为读入/读出字符。我尝试了:
sed -i 's_^<!-- \(.*\) -->$_\1_' text.sed
但 \1 并未按应有的方式进行评估。希望这里有人有想法吗?
答案1
给定一个文件 test.html,包含:
<html>
<!--- <script save and execute me> -->
</html>
命令:
sed -e "s/<!---* *<\(.*\)> *-->/<\1>/" test.html
发出:
<html>
<script save and execute me>
</html>
请注意这也会改变:
<html>
<!-- some info explaining why we have commented out the following -->
<!-- <hr> -->
<!--- <script save and execute me> -->
</html>
进入:
<html>
<!-- some info explaining why we have commented out the following -->
<hr>
<script save and execute me>
</html>