是否有可以从 XML 文件中删除注释的命令行工具?或者我是否需要编写一个使用 XML 解析器来执行此操作的小程序?
更新:我对只处理所有可能的 XML 文件的一个子集的解决方案不感兴趣。
例如,正则表达式不能处理 XML 解析。
Fra*_*que 14
我会这样做:
cat myfile.xml | sed '/<!--.*-->/d' | sed '/<!--/,/-->/d' > cleaned.xml
Run Code Online (Sandbox Code Playgroud)
或者:
awk 'in_comment&&/-->/{sub(/([^-]|-[^-])*--+>/,"");in_comment=0}
in_comment{next}
{gsub(/<!--+([^-]|-[^-])*--+>/,"");
in_comment=sub(/<!--+.*/,"");
print}'
Run Code Online (Sandbox Code Playgroud)
或者:
xmlstarlet ed -d '//comment()' file.xml
Run Code Online (Sandbox Code Playgroud)