我有一个像这样的xml文件:
<!-- environnement totoserver -->
<envs>
<env>
<id>1</id>
<name>toto</name>
<ip_server>1.1.1.1</ip_server>
<state>on</state>
</env>
<env>
<id>2</id> [...]
</env>
<!-- environnement tata serveur -->
<env>[...]
</env>
[...]
</envs>
为了找到特定节点的值,我使用xmllint。 有了这个,我尝试修改“toto”环境的状态值。 但是,我找不到正确的命令。
那么,有人知道命令行吗?
如果不可能,我该怎么做?如果可能,不安装包。
非常感谢!
答案 0 :(得分:1)
xmlstarlet ed -u '/envs/env/state[../name="toto"]' -v "$newvalue" file.xml
如果要妥善保存文件:
xmlstarlet ed --in-place -u ...