• [^] # Re: xmlstarlet

    Posté par (site web personnel) . En réponse au message remplacement valeur attribut xml particulier. Évalué à 1.

    avec awk ca doit etre possible en quelques lignes oui.

    j'ai pas de console sous la main et j'en aurai pas avant demain quand j'serais rentré chez moi, donc je peux pas te prouver mes dires mais...

    Avec awk tu peux aisément simuler une machine à état.

    Donc tu déclare un pattern [balise1] et dans le code associé tu mets juste un flag à true quand le pattern est rencontré.

    Par défaut, pour tous les patterns rencontrés tu recopie la ligne telle quelle

    tu définie ensuite un pattern 2 "[valeur]" et dans le code associé tu vérifie que le flag vu précédemment est sur true, car si c'est le cas c'est que tu es bien situé sous balise1.
    Donc tu recopie la ligne en substituant à la volée ce qui t'arrange.

    Ensuite tu penses à remettre à false le flag pour qu'il le reste jusqu'à la fin du fichier, sinon tu vas modifier toutes les balises [valeur] à venir...

    Et le fichier est ainsi recopié ligne par ligne jusqu'à la fin.

    J'sais pas si c'est clair ce que je dis :)

    Bien sûr ça suppose avoir déjà fait du awk sinon j'dois parler chinois là