XMLファイルからコメントを削除できるコマンドラインツールはありますか?または、XMLパーサーを使用してこれを行う小さなプログラムを作成する必要がありますか?
Update:考えられるすべてのXMLファイルのサブセットのみを処理するソリューションには興味がありません。
たとえば、正規表現はXML解析を処理できません。
私はこの方法でそれをします:
cat myfile.xml | sed '/<!--.*-->/d' | sed '/<!--/,/-->/d' > cleaned.xml
または:
awk 'in_comment&&/-->/{sub(/([^-]|-[^-])*--+>/,"");in_comment=0}
in_comment{next}
{gsub(/<!--+([^-]|-[^-])*--+>/,"");
in_comment=sub(/<!--+.*/,"");
print}'
または:
xmlstarlet ed -d '//comment()' file.xml