<hello>
<world>dark</world>
</hello>
到目前为止,我已经尝试过......
find . -name "*.xml" -print0 | while read -d $'\0' file; do awk '{print "<!--"$0"-->"}' "$file"; done
......失败了。
但有些文件对于单个文件有多糟糕......
awk '{print "<!--"$0"-->"}' "$file"
......工作正常。
答案 0 :(得分:1)
您最好不要使用awk
来解析XML文件。而是使用XML解析器。
这是xmllint
的示例:
find -name "*.xml" -exec bash -c 'xmllint --xpath "//*/world/text()" $1 >/dev/null 2>&1 && echo $1' _ {} \;
xpath
表达式查找嵌套在任何其他标记中的标记<world>
。