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. 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
    1. 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


      ;-)
      0
      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
        ✔

        0
        1. Contributeur
          Salut,

          Quel système ? Quelle version de sed ?
          0
      2. Bonjour Zipe31

        J'utilise un emulateur Mobaxterm

        Merci
        0
        1. Bonjour Dubcek

          ta commaande avec awk marche. Merci

          et merci aussi à UnGnU et Zipe31 .

          Cdlt.
          0