Bonsoir / bonjour tous

Comment je galère... En fait je suis en train de créer un script pour modifier un fichier de configuration. Dans ce fichier, il y a <Enabled>false</Enabled> qui faut basculer en true. Facile au départ, mais le souci, c'est que j'ai plein de <Enabled>false</Enabled> et il me faut cibler le bon.

Le bon se présente comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<GeoLocationConfiguration>
        <Enabled>false</Enabled>
    </GeoLocationConfiguration>

Du coup, je sais pas comment scripter cette affaire pour que l'identification du <Enabled>false</Enabled> se fasse en rapport à la ligne de au dessus (ou en dessous)

Merci pour votre coup de main par avance

Tof

Edit:

Alors j'ai un début de réponse, car j'ai testé ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed -i -e 's/<GeoLocationConfiguration>/<GeoLocationConfiguration><Enabled>true<\/Enabled>/g' chemin/conf/cdm-config.xml
Mais ça donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<GeoLocationConfiguration><Enabled>true</Enabled>
        <Enabled>false</Enabled>
    </GeoLocationConfiguration>
Et pour finir, j'ai tenté en vain en essayant avec https://www.developpez.net/forums/d1...-script-shell/

ça me multiplie toutes les lignes de mon fichier par 2 et coté résultat ça donne pas térrible

Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed -i -e '/<GeoLocationConfiguration>/,/<\/GeoLocationConfiguration>/{N;s/\(<Enabled>\)[^<]*\(<\/Enabled>\)/\true\2/};p' chemin/conf/cdm-config.xml
le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<GeoLocationConfiguration>
              rue</Enabled>
    </GeoLocationConfiguration>