Next: Assignment Options, Up: Variables [Contents][Index]
Variables let you give names to values and refer to them later. Variables
have already been used in many of the examples. The name of a variable
must be a sequence of letters, digits, or underscores, and it may not begin
with a digit.
Here, a letter is any one of the 52 upper- and lowercase
English letters. Other characters that may be defined as letters
in non-English locales are not valid in variable names.
Case is significant in variable names; a
and A
are distinct variables.
A variable name is a valid expression by itself; it represents the
variable’s current value. Variables are given new values with
assignment operators, increment operators, and
decrement operators
(see section Assignment Expressions).
In addition, the sub()
and gsub()
functions can
change a variable’s value, and the match()
, split()
,
and patsplit()
functions can change the contents of their
array parameters (see section String-Manipulation Functions).
A few variables have special built-in meanings, such as FS
(the
field separator) and NF
(the number of fields in the current input
record). See section Predefined Variables for a list of the predefined variables.
These predefined variables can be used and assigned just like all other
variables, but their values are also used or changed automatically by
awk
. All predefined variables’ names are entirely uppercase.
Variables in awk
can be assigned either numeric or string values.
The kind of value a variable holds can change over the life of a program.
By default, variables are initialized to the empty string, which
is zero if converted to a number. There is no need to explicitly
initialize a variable in awk
,
which is what you would do in C and in most other traditional languages.
Next: Assignment Options, Up: Variables [Contents][Index]