Suppression des commentaires xml dans un fichier

Résolu
paradox& -  
 leferison -
salut les unixien;
je fais un probleme que je veux partager avec vous en fait j ai un fichier xml contenant des commentaire
le fichier se presente ainsi

info
<!-- commentaire1 -->
info
<!-- commentaire 2
commentaire 3
-->
info
j ai besoin de supprimer tous les commentaires.
j ai utilisé sed '/<!--/d' fichier .. le premier commentaire est supprimé mais pas le 3em
et j ai procédé aussi sed '/<!--/,/ -->/d' le résultat retourné aussi est erroné
merci pour votre aide
A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

$ cat plop 
<!-- commentaire1 -->
info1
<!-- commentaire 2
commentaire 3
-->
info2
<!-- commentaire3 -->
info3
<!-- commentaire 4
commentaire 5
commentaire 6
-->
info4

$ sed '/^</{/>$/d;:z;N;/>$/!bz;d}' plop 
info1
info2
info3
info4

$ 

1
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Ou plus simple :

sed '/^<!.*>$/d;/^<!/,/>$/d' plop
0
paradox&amp;
 
merci pour la reponse :)
si l information utile se termine par > ca pose un probleme je pense
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Oui ;-(

Dans ce cas rajouter les tirets :
sed '/^<!--.*-->$/d;/^<--!/,/-->$/d'
0
paradox&amp;
 
parfaitt :) ))
0
leferison
 
Salut petit erreur dans la 2eme partie de ton sed <--! en fait c'est <!--
Puis pas la peine de mettre ^ ou $ car les commentaire sont bien définie là et pas forcement au debut de ligne et/ou un espace apres la fin ;)

sed '/<!--.*-->/d;/<!--/,/-->/d' fichier.xml



 *-+=LeFeRiSoN=+-*
0