awk fourni un mécanisme qui permet de passer des arguments à un script au moment de son appel. Les variables ARGC et ARGV sont initialisées par awk et permettent de traiter les valeurs passées sur la ligne de commandes. La syntaxe doit être obligatroirement du genre var=value et placé avant le ou les fichiers à traiter.
Exemple
Avec le fichier depts2012.txt. Ecrire un script awk permettant de rechercher dans le fichier des enregistrements bien précis en lui passant comme argument un code région (champ 1), un code département (champ 2), un code postal (champ3) ou un département (champ5).
$ cat depts2012.txt
	REGION  DEP     CHEFLIEU        TNCC    NCC     NCCENR
	82      01      01053   5       AIN     Ain
	22      02      02408   5       AISNE   Aisne
	83      03      03190   5       ALLIER  Allier
	93      04      04070   4       ALPES-DE-HAUTE-PROVENCE Alpes-de-Haute-Provence
	93      05      05061   4       HAUTES-ALPES    Hautes-Alpes
	93      06      06088   4       ALPES-MARITIMES Alpes-Maritimes
	82      07      07186   5       ARDECHE Ardèche
	21      08      08105   4       ARDENNES        Ardennes
	...
	11      92      92050   4       HAUTS-DE-SEINE  Hauts-de-Seine
	11      93      93008   3       SEINE-SAINT-DENIS       Seine-Saint-Denis
	11      94      94028   2       VAL-DE-MARNE    Val-de-Marne
	11      95      95500   2       VAL-D'OISE      Val-d'Oise
	01      971     97105   3       GUADELOUPE      Guadeloupe
	02      972     97209   3       MARTINIQUE      Martinique
	03      973     97302   3       GUYANE  Guyane
	04      974     97411   0       LA_REUNION      La Réunion
	06      976     97608   0       MAYOTTE Mayotte
	$
Le script suivant traitera au maximum 4 arguments. La variable $1 devra être strictement égale à la valeur de l'argument coderegion, la variable $2 devra être strictement égale à la valeur de l'argument codedept, la variable $3 devra être strictement égale à la valeur de l'argument codepostal et enfin la variable $5 devra être strictement égale à la valeur de l'argument dept. Tous ces arguments sont bien sûr facultatifs. Les instructions next permettent de ne pas afficher plusieurs fois une même ligne correspondante à plusieurs sections intermédiaires.
$ nl script9.awk
	     1  BEGIN {
	     2          print "ARGC = " , ARGC
	     3          for (i=0 ; i<ARGC ; i++) {
	     4                  printf ("ARGV[%d] = %s\n", i , ARGV[i])
	     5          }
	     6  }
	     7  $1 == coderegion {
	     8          print $0
	     9          next
	    10  }
	    11  $2 == codedept {
	    12          print $0
	    13          next
	    14  }
	    15  $3 == codepostal {
	    16          print $0
	    17          next
	    18  }
	    19  $5 == dept {
	    20          print $0
	    21          next
	    22  }
	$
Exécution du script ayant comme argument de recherche coderegion=93
$ awk -f script9.awk coderegion=93 depts2012.txt
	ARGC =  3
	ARGV[0] = awk
	ARGV[1] = coderegion=93
	ARGV[2] = depts2012.txt
	93      04      04070   4       ALPES-DE-HAUTE-PROVENCE Alpes-de-Haute-Provence
	93      05      05061   4       HAUTES-ALPES    Hautes-Alpes
	93      06      06088   4       ALPES-MARITIMES Alpes-Maritimes
	93      13      13055   4       BOUCHES-DU-RHONE        Bouches-du-Rhône
	93      83      83137   2       VAR     Var
	93      84      84007   0       VAUCLUSE        Vaucluse
	$
Exécution du script ayant comme argument de recherche codedept=44
$ awk -f script9.awk codedept=44 depts2012.txt
	ARGC =  3
	ARGV[0] = awk
	ARGV[1] = codedept=44
	ARGV[2] = depts2012.txt
	52      44      44109   3       LOIRE-ATLANTIQUE        Loire-Atlantique
	$
Exécution du script ayant comme argument de recherche codepostal=85191
$ awk -f script9.awk codepostal=85191 depts2012.txt
	ARGC =  3
	ARGV[0] = awk
	ARGV[1] = codepostal=85191
	ARGV[2] = depts2012.txt
	52      85      85191   3       VENDEE  Vendée
	$
Exécution du script ayant comme argument de recherche dept=VAR
$ awk -f script9.awk dept=VAR depts2012.txt
	ARGC =  3
	ARGV[0] = awk
	ARGV[1] = dept=VAR
	ARGV[2] = depts2012.txt
	93      83      83137   2       VAR     Var
	$
Exécution du script avec tous les arguments renseignés
$ awk -f script9.awk coderegion=93 codedept=44 codepostal=75056 dept=HAUTE-SAVOIE depts2012.txt
	ARGC =  6
	ARGV[0] = awk
	ARGV[1] = coderegion=93
	ARGV[2] = codedept=44
	ARGV[3] = codepostal=75056
	ARGV[4] = dept=HAUTE-SAVOIE
	ARGV[5] = depts2012.txt
	93      04      04070   4       ALPES-DE-HAUTE-PROVENCE Alpes-de-Haute-Provence
	93      05      05061   4       HAUTES-ALPES    Hautes-Alpes
	93      06      06088   4       ALPES-MARITIMES Alpes-Maritimes
	93      13      13055   4       BOUCHES-DU-RHONE        Bouches-du-Rhône
	52      44      44109   3       LOIRE-ATLANTIQUE        Loire-Atlantique
	82      74      74010   3       HAUTE-SAVOIE    Haute-Savoie
	11      75      75056   0       PARIS   Paris
	93      83      83137   2       VAR     Var
	93      84      84007   0       VAUCLUSE        Vaucluse
	$