Suppression d'une section complète dans un .xml

Résolu
Bonjour,

Je souhaiterai supprimer toutes les sections <GDDJIR*> d'un fichier xml.

Exemple de contenu :

<GDDJIR_PROD><triggers>
<hudson.triggers.TimerTrigger>
<spec>30 08 * * 1-5
00 13 * * 1-5
30 17 * * 1-5</spec>
</hudson.triggers.TimerTrigger>
</triggers></GDDJIR_PROD>
blabla
blabla
<GDDJIR_DEV><triggers/></GDDJIR_DEV>


J'ai essayé avec la commande sed suivante mais j'ai une erreur de syntaxe :

sed '/<GDDJIR_*>/{:z;N;\#</GDDJIR_*>#!bz;/d}'


Merci d'avance :)

--
Ludo

2 réponses

  1. Contributeur
    Salut,

    sed '/<GDDJIR_.*GDDJIR_.*>/d;/<GDDJIR_/{:z;N;\#</GDDJIR_.*>$#!bz;d}'

    1. Merci beaucoup ! C'est exactement ce qu'il me fallait !
  2. salut,

    le XML se traite avec XSLT !
    1. Merci pour la découverte de ce nouvel outil mais le traitement du fichier xml est inclus dans un script shell d'où l'usage du sed.
    2. ce n'est pas incompatible.
      les processeurs XSLT (xalan, xsltproc, xmlstarlet...) sont, tout comme
      sed
      , des programmes externes.
      ils peuvent, au même titre, être inclus dans un script shell.
    3. Au temps pour moi. Je vais me documenter et tester à l'avenir. Merci beaucoup pour cette découverte !