commande awk avec arguments en entrée

commande awk avec arguments en entrée - Divers - Programmation

Marsh Posté le 20-04-2011 à 17:40:02    

Bonjour
 
j'ai un fichier script.awk appliqué à un fichier fichieratraiter.dat que je lance d'habitude par : gawk -f script.awk fichieratraiter.dat (je bosse sous Linux RedHat)
 
Dans le script, j'ai rajouté mtnt un appel à un argument numérique de la ligne commande, p.ex. cnt = ARGV[2]+$1
 
Mon argument numérique vaut par exemple 1.  
 
Mais quelle que soit la position de ce nombre dans ma commande, le programme me retourne une erreur :
par exemple   gawk -f script.awk fichieratraiter.dat 1    ou     gawk 1 -f script.awk fichieratraiter.dat
 
Dans le premier cas il me répond: cannot open file '1' for reading
dans le second cas, cannot open file '-f' for reading
 
Comment passer les arguments pour qu'ils soient ainsi utilisables avec la variable-tableau interne ARGV ??
 
Merci

Reply

Marsh Posté le 20-04-2011 à 17:40:02   

Reply

Marsh Posté le 20-04-2011 à 20:09:57    

Je crois que tu peux passer directement un paramètre en le nommant sur la ligne de commande [:figti]  
awk cnt=1 -f script.awk fichieratraiter.dat -> tu auras une variable cnt valant 1 dans ton awk


---------------
Doucement le matin, pas trop vite le soir.
Reply

Marsh Posté le 21-04-2011 à 10:13:28    

j'ai essayé ainsi, ça marchait tjs pas, j'ai relu le man, et en mettant l'option -v ainsi : awk -v cnt=1 -f script.awk fichieratraiter.dat, là ça marche. Merci en tous cas
 
Mais si un jour qq trouve comment utiliser les ARGV d'awk, je suis preneur

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed