我需要将 xml 标签及其值复制到同一根标签下的另一个 xml 文件。如果根标签不存在,则创建它。
这是一个输入输出示例。
INPUT: string.xml
<resource>
<string name="app_name">MyExampleApp</string>
<string name="profile">My Profile</string>
<string name="messages">My Messages</string>
</resource>
$ command "profile" string.xml string1.xml
OUTPUT: string1.xml
<resource>
<string name="profile">My Profile</string>
</resource>
我一直在寻找“命令”和选项。不一定按照这个顺序。请帮我一下。任何 Linux/Unix/Mac 命令都可以
答案1
使用XML小星, 你可以删除string
根节点下所有name
属性不为的节点profile
:
$ xml ed -d '/resource/string[@name != "profile"]' string.xml
<?xml version="1.0"?>
<resource>
<string name="profile">My Profile</string>
</resource>
如果您不需要 XML 声明行,请-O
在后面添加。ed