【发布时间】:2018-06-12 04:14:24
【问题描述】:
我试图在 bash 脚本中使用 xmlstarlet 编辑 xml 文件。
但是我发现在尝试为相同节点中的相同属性赋予不同值时遇到问题,让我用这个例子来告诉你:
使用此代码
xmlstarlet ed -L -s /foo -t elem -n bar -v "" -i //bar -t attr -n id -v bar1 $file
xmlstarlet ed -L -s /foo -t elem -n bar -v "" -i //bar -t attr -n id -v bar2 $file
使用这个我在 $file 中得到以下结果:
<foo>
<bar id="bar1" id="bar2"/>
<bar id="bar2"/>
</foo>
但我想要达到的效果是这样的:
<foo>
<bar id="bar1"/>
<bar id="bar2"/>
</foo>
你能帮帮我吗?
【问题讨论】:
-
将 $file 的内容添加到您的问题中。
-
首先,谢谢你的回答 Cyrus,现在我正在尝试将它应用到我的项目中,其次 $file 的内容只是一行,在这种情况下将是
标签: xml bash shell edit xmlstarlet