Utilisation de SED ou AWK pour mise en forme fichier

Résolu
Bonjour,

J'ai un fichier dont le contenu est le suivant :
8974561
789456123
87142655
84796


Je souhaiterais mettre en forme ce fichier de la sorte :

(8974561,789456123,87142655,84796);


Comment dois je m'y prendre avec SED ou AWK?

Merci



--
L'accès au savoir est la première liberté que chaque homme devrait avoir.

4 réponses

  1. Contributeur
    hello
    $ awk -v RS="" '{gsub("\n", ","); print "(" $0 ");"}' fichier
    (8974561,789456123,87142655,84796);
    0
    1. Merci dubcek.

      Whaoohh!! Comprends rien à la syntaxe! Je vais d'abord essayer de comprends cette syntaxe de AWK avant de l'utiliser ;-)
      0
      1. Contributeur
        avec RS="", tout le fichier est mis dans $0, ensuite on remplace \n par , et on imprime; en shell :
        $ t=( $(<fichier) ); tt=${t[@]}; echo "("${tt// /,}");" 
        (8974561,789456123,87142655,84796);
        0
    2. Contributeur
      Salut,

      $ cat plop 
      8974561
      789456123
      87142655
      84796

      $ sed ':z;N;$!bz;s/\n/,/g;s/.*/(&);/' plop
      (8974561,789456123,87142655,84796);


      ☮ Zen my nuggets ☯
      Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot. <('')
      0
      1. Merci dubcek pour les infos.

        Merci zipe31 pour la syntaxe avec SED.
        0