Lire un ficher de donnees avec awk
hatunat
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
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
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
2 réponses
-
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:~$oulami20j@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 -
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]$;-))