GNU Info

Info Node: (gawk.info)Assignment Options

(gawk.info)Assignment Options


Prev: Using Variables Up: Variables
Enter node , (file) or (file)node

Assigning 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