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
Publicité
Posté le 20-04-2011 à 17:40:02
mrbebert
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 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.
Zik22
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