Lire un ficher de donnees avec awk

hatunat -  
jipicy Messages postés 41342 Statut Modérateur -
bonjour,
je voudrais lire un fichier texte avec des donnees en 2 colonnes et diriger la sortie vers un autre fichier en inversant l'ordre des colonnes avec un script shell et/ou awk.
exp
fic1
NOM PRENOM

puis resultat fic2
PRENOM NOM

merci de votre aide
A voir également:

2 réponses

lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,

voilà en ligne de commande avec perl

J'ai pris comme séparateur l'espace (un espace pour être exact). Donc q'il y a 2 prénoms sans espace ça ne marche pas.
lami20j@debian:~$ cat ccm_nom_prenom
Nom Prenom
AAA Bbb
BBB Ccc
lami20j@debian:~$ cat ccm_nom_prenom | perl -ne 'print join (" ",reverse split " ",$_), "\n"' > ccm_prenom_nom
lami20j@debian:~$ cat ccm_prenom_nom
Prenom Nom
Bbb AAA
Ccc BBB
lami20j@debian:~$
ou
lami20j@debian:~$ cat ccm_nom_prenom
Nom Prenom
AAA Bbb
BBB Ccc
lami20j@debian:~$ cat ccm_nom_prenom | perl -ne 's/(\w+)\s(\w+)/$2 $1/ and print' > ccm_prenom_nom
lami20j@debian:~$ cat ccm_prenom_nom
Prenom Nom
Bbb AAA
Ccc BBB
lami20j@debian:~$
lami20j
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Avec "awk" ça donne ça :
[jp@MDK tmpfs]$ cat fich.txt
Dupont Jean
Dupuit Albert
Dubois Isabelle

[jp@MDK tmpfs]$ while read i; do echo $i | awk '{ print $2,$1 }' >> fich2.txt; done <fich.txt

[jp@MDK tmpfs]$ cat fich2.txt
Jean Dupont
Albert Dupuit
Isabelle Dubois

[jp@MDK tmpfs]$
;-))
0