Copyright (C) 2000-2012 |
GNU Info (gawk.info)Assignment OptionsAssigning Variables on the Command Line --------------------------------------- Any `awk' variable can be set by including a "variable assignment" among the arguments on the command line when `awk' is invoked (Note: Other Command-Line Arguments.). Such an assignment has the following form: VARIABLE=TEXT With it, a variable is set either at the beginning of the `awk' run or in between input files. When the assignment is preceded with the `-v' option, as in the following: -v VARIABLE=TEXT the variable is set at the very beginning, even before the `BEGIN' rules are run. The `-v' option and its assignment must precede all the file name arguments, as well as the program text. (Note: Command-Line Options, for more information about the `-v' option.) Otherwise, the variable assignment is performed at a time determined by its position among the input file arguments--after the processing of the preceding input file argument. For example: awk '{ print $n }' n=4 inventory-shipped n=2 BBS-list prints the value of field number `n' for all input records. Before the first file is read, the command line sets the variable `n' equal to four. This causes the fourth field to be printed in lines from the file `inventory-shipped'. After the first file has finished, but before the second file is started, `n' is set to two, so that the second field is printed in lines from `BBS-list': $ awk '{ print $n }' n=4 inventory-shipped n=2 BBS-list -| 15 -| 24 ... -| 555-5553 -| 555-3412 ... Command-line arguments are made available for explicit examination by the `awk' program in an array named `ARGV' (Note: Using `ARGC' and `ARGV'.). `awk' processes the values of command-line assignments for escape sequences (d.c.) (Note: Escape Sequences). automatically generated by info2www version 1.2.2.9 |