使用XMLStarlet(Image Annotation)将值连接到现有的xml属性

时间:2018-02-21 10:54:42

标签: xml bash annotations xmlstarlet

我正在使用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

1 个答案:

答案 0 :(得分:0)

xmlstarlet 解决方案:

xmlstarlet ed -L -u '//annotation/filename' -x 'concat(., ".jpg")' input.xml

快速指南:xmlstarlet ed --help