• # À tester...

    Posté par . En réponse au message Sed sur plusieurs lignes. Évalué à 2. Dernière modification le 27 août 2014 à 21:58.

    Salut,

    N'ayant pas toutes les données de ton problème et notamment un exemple concret de fichier à traiter ainsi que la sortie désirée, voilà un petit bout de code en sed à tester.

     #n
     /^%!post.*/ !p
     /^%!post/ {
     h
     :z
     n
     /^[[:space:]]*$/ {
     H
     b z
     }
     x
     s/$/\nAAA/p
     g
     G
     D
     }

    Par contre, je ne pense pas que l'insertion en début de fichier de la ligne si aucun motif correspondant n'est trouvé soit possible en une seule opération avec ce même script. Il te faudra tester auparavant si le motif existe ou pas et lancer le script sed adéquat en fonction...

    Le script est à mettre dans un fichier (script.sed) et doit être appelé comme suit :

     sed -f script.sed fichier_à_traiter

    PS. Impossible de mettre le code en forme correctement ;-(
    Si un modo (ou autre) pouvait s'en occuper, je l'en remercie par avance