私は次のコマンドを使用しています:
xmlstarlet ed --omit-decl --subnode "/boinc" --type elem -n app -v "" project_00.xml > project_01.xml
ただし、その1つにさらに2つのタグを挿入したいと思います。
<app>
<name>name</name>
<nikname>nikname</nikname>
</app>
私のproject_00.xml
場合、すでに他のタグアプリがあり、競合が発生しています。
このコマンドの問題:
xmlstarlet ed --subnode "/boinc" --type elem -n app -v "" project_00.xml| xmlstarlet ed --subnode //app --type elem -n name -v "newApp"| xmlstarlet ed --subnode //app --type elem -n user_friendly_name -v "New.App" > project_01.xml
これを作成したということです。:
<app name="wilson">
<name>wilson</name>
<user_friendly_name>Mr.Wilson</user_friendly_name>
<name>newApp</name>
<user_friendly_name>New.App</user_friendly_name>
</app>
<app>
<name>newApp</name>
<user_friendly_name>New.App</user_friendly_name>
</app>
正確なコマンドを知っていますか?
このコマンドを試しましたが、すべてのアプリタグに複製されました
xmlstarlet ed -s "/boinc" -t elem -n app -v "" -s "/boinc/app" -t elem -n name -v "name" -s "/boinc/app" -t elem -n user_friendly_name -v "New.App" project_00.xml > project_01.xml