|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Inscription : mai 2002 Messages : 3 ![]() |
Bonjour,
J’écris un script qui lit un fichier texte contenant 10 colonnes avec séparateur ; Code :
awk ${FICHIER_ENTREE} '{print FS=";" num=$1, nom=$2, type=$3}'>${FICHIER_SORTIE}.txt J'ai l'erreur suivante : Code :
Quelqu'un peut-il m'aider ? Merci d'avance. Deep |
||
|
|
03
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
As-tu seulement pris quelques instants pour lire la documentation ?
Allez, va faire un tour sur la page man de awk ! parce que là c'est un peu comme essayer de couper du bois avec la poignée de la scie
|
|
|
10
|
|
|
#3 |
|
Inscription : mai 2002 Messages : 3 ![]() |
Comprends pas l'allusion à la scie.
Par contre, j'ai lu le man awk, et je ne trouve pas de réponse à ma question |
|
|
02
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
donc, tu as vu ça :
Citation:
|
|
|
|
20
|
|
|
#5 | |
|
Expert Confirmé Sénior
![]() Frédéric Ingénieur développement logiciels Inscription : février 2006 Messages : 3 055 ![]() |
Citation:
La dernière réponse de N_Bah résoudra 99% de ton problème. Moi, ce qui me chagrine, c'est ce print FS=";" .... En voyant ça, j'hésite entre la question "mais pourquoi veux-tu afficher FS=; ???" et la question "n'as tu donc pas réalisé que FS=... est une instruction et qu'on ne la met donc pas derrière un print car sinon le moteur d'analyse ne pipera plus rien ???" Ensuite, c'est un avis perso, moi je préfère utiliser l'option -F de awk plutôt que mettre le FS dans le code. Mais ça, c'est chacun fait comme il le sent...
__________________
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. Tout ce qu'un individu reçoit sans rien faire pour l'obtenir, un autre individu a dû travailler pour le produire sans en tirer profit. Tout Pouvoir ne peut distribuer aux uns que ce qu'il a préalablement confisqué à d'autres car on n'accroît pas les biens en les divisant. Quand la moitié d'un peuple croit qu'il ne sert à rien de faire des efforts car l'autre moitié les fera pour elle, et quand cette dernière moitié se dit qu'il ne sert à rien d'en faire car ils bénéficieront à d'autres, cela s'appelle le déclin et la fin d'une nation. Dr. Adrian Rogers, 1931 |
|
|
|
10
|
|
|
#6 |
|
Inscription : mai 2002 Messages : 3 ![]() |
Du coup, comme tu ne m'a pas trop aidé, j'ai cherché, et du coup j'ai compris ce que tu voulais dire.
Voila ce que ça donne Code :
awk 'BEGIN {FS=";"; OFS=":" } { print num=$1, nom=$2, type=$3}' ${FICHIER_ENTREE} >${FICHIER_SORTIE} Merci également à Sve@r pour tes éclaircissements. Du coup, je peux continuer à avancer sur mon script qui est loin d'être fini... |
|
|
11
|
Copyright © 2000-2012 - www.developpez.com