xmlstarlet
solução:
new_branch="DAVID"
xmlstarlet ed -u "/configurations/rules/rule[name='APP1']/branch" -v "$new_branch" config.xml > final.xml
O nó <rule>
crucial deve ser semelhante:
<rule>
<name>APP1</name>
<repo>hookTester</repo>
<branch>DAVID</branch>
<emailTo>[email protected]</emailTo>
<path>F1/ido.xml </path>
</rule>
Você também pode modificar o arquivo inicial inplace aplicando a opção global -L
:
xmlstarlet ed -L -u ... config.xml