Faça:
sed 's!</tomcat-users>!<user userame...../> &!' file.xml > new.xml
ou
sed -i ... file.xml
para alterar file.xml diretamente.
Para uma transformação mais complexa, uma ferramenta que tenha xml-parser seria a escolha indicada.
Eu recebi as seguintes instruções:
sudo nano /etc/tomcat7/tomcat-users.xml
adicione um usuário que possa acessar o manager-gui
e admin-gui
:
<tomcat-users> <user username="admin" password="password" roles="manager-gui,admin-gui"/> </tomcat-users>
em outras palavras:
Eu preciso modificar o arquivo xml, em vez disso: no documento xml, inclua uma nova tag xml ( <user>
) na tag xml existente ( <tomcat-users>
).
Eu não quero fazer isso manualmente todo o tempo e penso na capacidade de automatizar este passo no terminal.
Qual é a melhor maneira de fazer isso?
O problema principal de mim é como posso adicionar uma nova tag xml filha na tag xml principal via terminal sem manipulação manual?
Estou usando o Ubuntu 14.10.
Solução:
sed -i 's/<tomcat-users>/<tomcat-users>\n<user username="user" password="password" roles="manager-gui,admin-gui"\/>/' /etc/tomcat7/tomcat-users.xml
Faça:
sed 's!</tomcat-users>!<user userame...../> &!' file.xml > new.xml
ou
sed -i ... file.xml
para alterar file.xml diretamente.
Para uma transformação mais complexa, uma ferramenta que tenha xml-parser seria a escolha indicada.