Suppression des commentaires xml dans un fichier

Résolu/Fermé
paradox& - 3 mai 2013 à 11:23
 leferison - 3 janv. 2017 à 12:52
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
3 mai 2013 à 11:33
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
3 mai 2013 à 11:36
Ou plus simple :

sed '/^<!.*>$/d;/^<!/,/>$/d' plop
0
paradox&amp;
3 mai 2013 à 11:54
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
3 mai 2013 à 11:57
Oui ;-(

Dans ce cas rajouter les tirets :
sed '/^<!--.*-->$/d;/^<--!/,/-->$/d'
0
paradox&amp;
3 mai 2013 à 12:08
parfaitt :) ))
0
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