0
我有數百個xml文件要處理 - 有些需要特定的標籤,有些則不需要。如果我只是將標籤添加到所有文件,那麼一些文件會得到2個標籤(沒有意外!)。我如何在沒有笨拙的grep的xmlstarlet中選擇要使用的文件?例如:xmlstarlet將一個元素恰好添加到文件中
我有這樣的一些文件: ...
<parent_tag>
<another_tag/> <-- but not in all files
</parent_tag>
我想這(但有些文件已經擁有它): ...
<parent_tag>
<good_tag>foobar</good_tag>
<another_tag/>
</parent_tag>
如該作品但我希望我可以完全在沒有grep的xmlstarlet中完成:
grep -L good_tag */config.xml | while read i; do
xmlstarlet ed -P -S -s //parent_tag -t elem -n good_tag -v "" $i > tmp || break
\cp tmp $i
done
我得到了myse LF在一些XPATH異國情調喜歡糾結了:
xmlstarlet sel --text --template --match //parent_tag --match "//parent_tag/node()[not(self::good_tag)]" -f --nl */config.xml
...但它沒有做什麼,我原本希望......