Lire un ficher de donnees avec awk

Fermé
hatunat - 28 juin 2006 à 18:55
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 28 juin 2006 à 20:02
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 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
28 juin 2006 à 19:40
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
28 juin 2006 à 20:02
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