我正在使用xml注释图像。我正在使用xmlstarlet和unix bash命令,但是当我尝试将值附加到现有的xml属性值时,我遇到了一些问题。例如,我有<filename>a</filename>
,我希望将其设为<filename>a.jpg</filename>
(即连接&#39; .jpg&#39;到现有值)。
我使用了以下代码,但它完全覆盖了值(即<filename>.jpg</filename>
。
脚本:
for name in *.xml; do xmlstarlet ed --inplace -u '/annotation/filename' -v .jpg "$name"; done
答案 0 :(得分:0)
xmlstarlet
解决方案:
xmlstarlet ed -L -u '//annotation/filename' -x 'concat(., ".jpg")' input.xml
快速指南:xmlstarlet ed --help