| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Any awk variable can be set by including a variable assignment
among the arguments on the command line when awk is invoked
(see section 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.
(See section 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
(see section Using ARGC and ARGV).
awk processes the values of command-line assignments for escape
sequences
(d.c.)
(see section 3.2 Escape Sequences).
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |