• # Awk ?

    Posté par . En réponse au message IFS= et imbrication. Évalué à 2.

    Hello,

    si tu ne t'interdis pas Awk, 15 lignes de script pourraient faire l'affaire (enfin, si j'ai bien compris le résultat à atteindre !) :

    #! /usr/bin/awk -f
    BEGIN {
     FS=";"
     OFS=";"
    }
    $1 ~ /AEQF/ {
     split($NF, Array, "|");
     for (hg in Array)
     {
     print "HOST;ADD", Array[hg], Array[hg]
     }
     print "HOST;ADD",$3,$5,$4,$7,$2,$8
    }
    $1 ~ /SEQI/ {
     print "HOST;DEL",$3
    }

    Chez moi, le script clapi_import.awk donne ça :

    ./clapi_import.awk sample.txt sample2.txt
    HOST;ADD;foo;foo
    HOST;ADD;bar;bar
    HOST;ADD;baz;baz
    HOST;ADD;bli;ju;blu;toto;bla;foo|bar|baz
    HOST;DEL;hop
    HOST;ADD;foo;foo
    HOST;ADD;bar;bar
    HOST;ADD;baz;baz
    HOST;ADD;bli;ju;blu;toto;bla bla;foo|bar|baz
     #^^^^^^^ L'espace est bien repris
    HOST;DEL;hop