Utilisation de SED ou AWK pour mise en forme fichier

Résolu
pcsystemd Messages postés 734 Statut Membre -  
pcsystemd Messages postés 734 Statut Membre -
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. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    $ awk -v RS="" '{gsub("\n", ","); print "(" $0 ");"}' fichier
    (8974561,789456123,87142655,84796);
    0
  2. pcsystemd Messages postés 734 Statut Membre 23
     
    Merci dubcek.

    Whaoohh!! Comprends rien à la syntaxe! Je vais d'abord essayer de comprends cette syntaxe de AWK avant de l'utiliser ;-)
    0
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      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
  3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
  4. pcsystemd Messages postés 734 Statut Membre 23
     
    Merci dubcek pour les infos.

    Merci zipe31 pour la syntaxe avec SED.
    0