Probleme avec la commande awk en bash
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
bonjour!
j'ai ecrit un script sous linux qui ramene un fichier nomFichier.txt depuis une station unix et qui lui fait subir quelques (mauvais) traitements ^_^.
voila :
awk ' { FS="|" } { print $1 }' nomFichier.txt > newFichier.txt
cela me permet de mettre uniquement la(les) colonnes que je veux dans un nouveau fichier pour exploiter cette colonne.
Voici mon pb : en fait, une fois que le script est lance tout se deroule normalement sauf que, a chaque fois, la premiere ligne du fichier (qui possede elle aussi plusieurs colonnes separees par un | ) reste entiere (c comme s'il n'y avait pas de separateur).
quelqu'un a une idee de ce qui cause ce pb ?
Merci d'avance.
Bahan,
"Et vive les ours de mer!"
j'ai ecrit un script sous linux qui ramene un fichier nomFichier.txt depuis une station unix et qui lui fait subir quelques (mauvais) traitements ^_^.
voila :
awk ' { FS="|" } { print $1 }' nomFichier.txt > newFichier.txt
cela me permet de mettre uniquement la(les) colonnes que je veux dans un nouveau fichier pour exploiter cette colonne.
Voici mon pb : en fait, une fois que le script est lance tout se deroule normalement sauf que, a chaque fois, la premiere ligne du fichier (qui possede elle aussi plusieurs colonnes separees par un | ) reste entiere (c comme s'il n'y avait pas de separateur).
quelqu'un a une idee de ce qui cause ce pb ?
Merci d'avance.
Bahan,
"Et vive les ours de mer!"
A voir également:
- Probleme avec la commande awk en bash
- Invite de commande - Guide
- Commande terminal mac - Guide
- Diskpart commande - Guide
- Commande dism - Guide
- Commande scannow - Guide
3 réponses
Hello,
Exact, j'ai bien le comportement que tu décris.
En attendant tu peux essayer
awk -F "|" '{ print $1}' < f1.txt > f2.txt
Johan
The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
Exact, j'ai bien le comportement que tu décris.
En attendant tu peux essayer
awk -F "|" '{ print $1}' < f1.txt > f2.txt
Johan
The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
Hello,
Essaye ceci:
$awk 'BEGIN{ FS="|"}{ print $1}' < f1.txt > f2.txt
En fait ton FS n'est pas encore redéfini lors du parsing
de la première ligne. En le mettant dans BEGIN,
tu le définis AVANT le parcours des lignes de ton fichier,
et ça marche comme il le faut.
Johan
The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
Essaye ceci:
$awk 'BEGIN{ FS="|"}{ print $1}' < f1.txt > f2.txt
En fait ton FS n'est pas encore redéfini lors du parsing
de la première ligne. En le mettant dans BEGIN,
tu le définis AVANT le parcours des lignes de ton fichier,
et ça marche comme il le faut.
Johan
The software said "Requires Windows98, Win2000, or better,
So I installed Unix.