É possível modificar um arquivo xml no Terminal?

1

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
    
por user471011 13.01.2015 / 11:14

1 resposta

3

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.

    
por JJoao 14.01.2015 / 15:51