Retour Chariot avec Shell

Résolu
Bonjour, à tous

Je souhaite faire retour chariot sur plusieurs lignes.

j'ai le fichiers 1 ci-dessous


INTERROGATED STATIC ROUTES
GATEWAY ADDRESS ROUTE
UNIT ->DESTINATION TYPE NBR
---------------------- -------------------------------------------- ----- -----
ETMA-0 10.X.X.XX LOG 474
->20.XX.XX.XXX/32
ETMA-1 10.X.X.XX LOG 475
->20.XX.XX.XXX/32
ETMA-2 10.X.X.XX LOG 476
->20.XX.XX.XXX/32
ETMA-3 10.X.X.XX LOG 477
->20.XX.XX.XXX/32
ETMA-4 10.X.X.XX LOG 478
->20.XX.XX.XXX/32

COMMAND EXECUTED


je veux obtenir le format ci-desous

ETMA-0;10.X.X.XX;LOG;474;20.XX.XX.XXX/32
ETMA-1;10.X.X.XX;LOG;475;20.XX.XX.XXX/32
ETMA-2;10.X.X.XX;LOG;476;20.XX.XX.XXX/32
ETMA-3;10.X.X.XX;LOG;477;20.XX.XX.XXX/32
ETMA-4;10.X.X.XX;LOG;478;20.XX.XX.XXX/32


Merci d'avance.

'

5 réponses

  1. Bonjour Dubcek

    ta commaande avec awk marche. Merci

    et merci aussi à UnGnU et Zipe31 .

    Cdlt.
    1. Contributeur
      hello
      $ awk -F "[ \t>]+" '/^E/ {s=";"; p=$1 s $2 s $3 s $4 s; getline; print p $3}'fichier
      ETMA-0;10.X.X.XX;LOG;474;20.XX.XX.XXX/32
      ETMA-1;10.X.X.XX;LOG;475;20.XX.XX.XXX/32
      ETMA-2;10.X.X.XX;LOG;476;20.XX.XX.XXX/32
      ETMA-3;10.X.X.XX;LOG;477;20.XX.XX.XXX/32
      ETMA-4;10.X.X.XX;LOG;478;20.XX.XX.XXX/32
      1. Slt UnGnU

        Merci pour ton retour

        j'ai exécuté ta ligne de commande mais je n'ai aucun résultat.

        [10/10/2017 16:32.09]  /drives/d/SCRIPT_SHELL/STATIC_ROUTE
        [Bangouame.SWEET-PC] ➤ sed -n '/[[:digit:]]/{N;s/ \+/;/g;s/\n;->/;/p}' TESST.txt
        ✔

        1. Contributeur
          Salut,

          Quel système ? Quelle version de sed ?
      2. Contributeur
        Salut,

        $ cat fich
        INTERROGATED STATIC ROUTES
        GATEWAY ADDRESS ROUTE
        UNIT ->DESTINATION TYPE NBR
        ---------------------- -------------------------------------------- ----- -----
        ETMA-0 10.X.X.XX LOG 474
        ->20.XX.XX.XXX/32
        ETMA-1 10.X.X.XX LOG 475
        ->20.XX.XX.XXX/32
        ETMA-2 10.X.X.XX LOG 476
        ->20.XX.XX.XXX/32
        ETMA-3 10.X.X.XX LOG 477
        ->20.XX.XX.XXX/32
        ETMA-4 10.X.X.XX LOG 478
        ->20.XX.XX.XXX/32

        COMMAND EXECUTED


        $ sed -n '/[[:digit:]]/{N;s/ \+/;/g;s/\n;->/;/p}' fich
        ETMA-0;10.X.X.XX;LOG;474;20.XX.XX.XXX/32
        ETMA-1;10.X.X.XX;LOG;475;20.XX.XX.XXX/32
        ETMA-2;10.X.X.XX;LOG;476;20.XX.XX.XXX/32
        ETMA-3;10.X.X.XX;LOG;477;20.XX.XX.XXX/32
        ETMA-4;10.X.X.XX;LOG;478;20.XX.XX.XXX/32


        ;-)