web-dev-qa-db-ja.com

ターミナルでxmlファイルを変更することはできますか?

私は次の指示を受けました:

Sudo nano /etc/Tomcat7/Tomcat-users.xml

manager-guiおよびadmin-guiにアクセスできるユーザーを追加します。

<Tomcat-users> <user username="admin" password="password" roles="manager-gui,admin-gui"/> </Tomcat-users>

言い換えると:

Xmlファイルを変更する必要があります。xmlドキュメントで、既存のxmlタグ(<user>)に新しいxmlタグ(<Tomcat-users>)を追加します。

私はいつも手動でそれをしたくありません、そして、私はターミナルでこのステップを自動化する能力について考えます。

それを行う最良の方法は何ですか?

私の主な問題は、親xmlタグに新しい子xmlタグを追加するにはどうすればよいですか手動操作なしのターミナル経由ですか?

Ubuntu 14.10を使用しています。

解決策:

 sed -i 's/<Tomcat-users>/<Tomcat-users>\n<user username="user" password="password" roles="manager-gui,admin-gui"\/>/' /etc/Tomcat7/Tomcat-users.xml
1
user471011

行う:

sed 's!</Tomcat-users>!<user userame...../> &!' file.xml > new.xml 

または

sed -i ... file.xml

file.xmlを直接変更します。

より複雑な変換の場合、xml-parserを備えたツールが選択の選択肢になります。

3
user216043