Bonjour,

J’ai un fichier xml qui contient différentes balises.
Dans la balise <fichier … je dois supprimer ce qui se trouve entre la balise <fichier …..> et la fin de balise </fichier> => cf exemple en rouge
Sachant qu’il peut y avoir des signes < ou > dans le texte en rouge donc ne pas le prendre comme séparateur si on part sur un awk par exemple et que le contenu en rouge peut s'étendre sur plusieurs lignes.
Je vois un truc du genre, je prends les lignes qui commencent par <fichier et je prends tout ce qui se trouve après le 1er « > » jusqu'à la balise fermante </fichier> et je remplace par « </fichier> ».

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>
<action champ1=""></action>
<action champ1=""></action>
<fichier champ1="" champ2=""> &#x89;PNG
 </fichier>
<fichier champ1="" champ2=""> &#x89jhfgedhtg_z'eygtied </fichier>
...
Je cherche une solution shell dans un 1er temps. Si pas de solution, je m'orienterai vers une solution python ( ce sont les 2 langages que nous exploitons au travail).

NB : Je n'ai pas l'utilitaire xmlstarlet sur mon serveur
D'avance merci pour votre aide.