Rechercher : dans
Par :

Lire un ficher de donnees avec awk

Dernière réponse le 28 jun 2006 à 20:02:55 hatunat, le 28 jun 2006 à 18:55:25 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « lire un ficher de donnees avec awk » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Lire un fichier WMV,Fichier WMV, Extension WMV, WMV VoirUn fichier WMV est une vidéo au format propriétaire Microsoft Windows Media Video. Un fichier portant l'extension .WMV contient à la fois des données audio et vidéo, compressées pour pouvoir être diffusées en streaming, à la manière du MPEG2 ou du...
[Python] Lire et écrire des fichiers CSV VoirLIRE ET ÉCRIRE DES FICHIERS CSV Python www.python.org, dans sa version 2.4 supporte de facto le format CSV (comma-separated values: valeurs séparées par des virgules). La Library Reference est certes très explicative à ce sujet, mais uniquement...
Fichier CSV VoirFormat CSV Un fichier CSV est un fichier tableur, contenant des données sur chaque ligne séparés par un caractère de séparation (généralement une virgule ou un point-virgule). Comment lire un fichier CSV ? Il peut être lu avec un tableur tel que...
Fichier PRN VoirFormat PRN Un fichier PRN (contraction de PRiNt) est un fichier d'impression, c'est-à-dire un fichier contenant les données binaires telles qu'elles doivent être envoyées à une imprimante. Comment lire un fichier PRN ? Pour ouvrir un tel fichier,...
Oracle - Les fichiers d'une base Oracle VoirLes fichiers physiques d'une base Oracle Les fichiers physiques d'une base Oracle permettent de stocker de manière persistante les données manipulées par Oracle, tandis que la mémoire sert à optimiser la vitesse de fonctionnement de la base de...

1

lami20j, le 28 jun 2006 à 19:40:33

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

Répondre à lami20j

2

 jipicy, le 28 jun 2006 à 20:02:55

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]$
;-)) Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy