Menu

Utilisation de SED ou AWK pour mise en forme fichier [Résolu/Fermé]

Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
- - Dernière réponse : pcsystemd
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
- 21 mai 2015 à 09:15
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


Afficher la suite 

4 réponses

Messages postés
17772
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
4384
0
Merci
hello
$ awk -v RS="" '{gsub("\n", ","); print "(" $0 ");"}' fichier
(8974561,789456123,87142655,84796);
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
16
0
Merci
Merci dubcek.

Whaoohh!! Comprends rien à la syntaxe! Je vais d'abord essayer de comprends cette syntaxe de AWK avant de l'utiliser ;-)
dubcek
Messages postés
17772
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
4384 -
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);
Messages postés
36624
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
19 juillet 2019
3708
0
Merci
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. <('')
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
16
0
Merci
Merci dubcek pour les infos.

Merci zipe31 pour la syntaxe avec SED.