1 pièce(s) jointe(s)
xmlstarlet : Trouver et remplacer une valeur
Bonjour tous,
J'effectue des modifications de fichiers avec xmlstarlet. Script que l'on m'a fourni pour m'aider et j'essaye des apporter des lignes d'actions en plus.
Je cherche depuis ce matin à modifier une valeur dans un fichier api-manager.xml
Pièce jointe 300594
La valeur que je souhaite faire trouver et modifier est :
Code:
<DASServerURL>{tcp://localhost:7612}</DASServerURL>
Modifier par :
Code:
<DASServerURL>{tcp://${iot_hostname}:7612}</DASServerURL>
En reprenant un bout du script que l'on m'a fait, je n'arrive pas à trouver les bonnes valeurs.
J'ai mis ceci et ça ne marche pas :
Code:
1 2 3 4 5 6 7
| for file in $(find . -name 'api-manager.xml'); do
xmlstarlet ed --omit-decl --pf \
--update '//Analytics[DASServerURL="tcp://localhost:7612"]/APIManager/Analytics/DASServerURL' \
--value "<DASServerURL>{tcp://${iot_hostname}:7612}</DASServerURL>" \
${file} > ${file}.old
done |
Merci pour votre aide
Edit :
J'ai essayé aussi ceci mais en vain :
Code:
1 2 3 4 5 6 7
| for file in $(find . -name 'api-manager.xml'); do
xmlstarlet ed --omit-decl --pf \
--update '//APIManager/Analytics/DASServerURL' \
--value "<DASServerURL>{tcp://${iot_hostname}:7612}</DASServerURL>" \
${file} > ${file}.old
done |