使用 XMLStarlet(图像注释)将值连接到现有的 xml 属性
Concatenate a value to an existing xml attribute using XMLStarlet (Image Annotation)
我正在使用 xml 对图像进行注释。我正在使用 xmlstarlet 和 unix bash 命令,但是当我尝试将值附加到现有 xml 属性值时遇到一些问题。例如,我有 <filename>a</filename>
,我想将其设为 <filename>a.jpg</filename>
(即将“.jpg”连接到现有值)。
我使用了以下代码,但它完全覆盖了值(即 <filename>.jpg</filename>
。
脚本:
for name in *.xml; do xmlstarlet ed --inplace -u '/annotation/filename' -v .jpg "$name"; done
xmlstarlet
解法:
xmlstarlet ed -L -u '//annotation/filename' -x 'concat(., ".jpg")' input.xml
快速指南:xmlstarlet ed --help
我正在使用 xml 对图像进行注释。我正在使用 xmlstarlet 和 unix bash 命令,但是当我尝试将值附加到现有 xml 属性值时遇到一些问题。例如,我有 <filename>a</filename>
,我想将其设为 <filename>a.jpg</filename>
(即将“.jpg”连接到现有值)。
我使用了以下代码,但它完全覆盖了值(即 <filename>.jpg</filename>
。
脚本:
for name in *.xml; do xmlstarlet ed --inplace -u '/annotation/filename' -v .jpg "$name"; done
xmlstarlet
解法:
xmlstarlet ed -L -u '//annotation/filename' -x 'concat(., ".jpg")' input.xml
快速指南:xmlstarlet ed --help