The following is an alphabetical list of variables that you can change to control how awk does certain things. The variables that are specific to gawk are marked with a pound sign (`#').
BINMODE #"r" or "w" specify that input files and
output files, respectively, should use binary I/O.
A string value of "rw" or "wr" indicates that all
files should use binary I/O.
Any other string value is equivalent to "rw", but gawk
generates a warning message.
BINMODE is described in more detail in
PC Using.
This variable is a gawk extension. In other awk implementations (except mawk, see Other Versions), or if gawk is in compatibility mode (see Options), it is not special.
CONVFMTsprintf function
(see String Functions).
Its default value is "%.6g".
CONVFMT was introduced by the POSIX standard.
FIELDWIDTHS #FIELDWIDTHS
overrides the use of FS for field splitting.
See Constant Size, for more information.
If gawk is in compatibility mode
(see Options), then FIELDWIDTHS
has no special meaning, and field-splitting operations occur based
exclusively on the value of FS.
FS""), then each
character in the record becomes a separate field.
(This behavior is a gawk extension. POSIX awk does not
specify the behavior when FS is the null string.)
The default value is " ", a string consisting of a single
space. As a special exception, this value means that any
sequence of spaces, tabs, and/or newlines is a single separator.1 It also causes
spaces, tabs, and newlines at the beginning and end of a record to be ignored.
You can set the value of FS on the command line using the
-F option:
awk -F, 'program' input-files
If gawk is using FIELDWIDTHS for field splitting,
assigning a value to FS causes gawk to return to
the normal, FS-based field splitting. An easy way to do this
is to simply say `FS = FS', perhaps with an explanatory comment.
IGNORECASE #IGNORECASE is nonzero or non-null, then all string comparisons
and all regular expression matching are case independent. Thus, regexp
matching with `~' and `!~', as well as the gensub,
gsub, index, match, split, and sub
functions, record termination with RS, and field splitting with
FS, all ignore case when doing their particular regexp operations.
However, the value of IGNORECASE does not affect array subscripting
and it does not affect field splitting when using a single-character
field separator.
See Case-sensitivity.
If gawk is in compatibility mode
(see Options),
then IGNORECASE has no special meaning. Thus, string
and regexp operations are always case-sensitive.
LINT #"fatal", lint warnings become fatal errors.
With a value of "invalid", only warnings about things that are
actually invalid are issued. (This is not fully implemented yet.)
Any other true value prints nonfatal warnings.
Assigning a false value to LINT turns off the lint warnings.
This variable is a gawk extension. It is not special
in other awk implementations. Unlike the other special variables,
changing LINT does affect the production of lint warnings,
even if gawk is in compatibility mode. Much as
the --lint and --traditional options independently
control different aspects of gawk's behavior, the control
of lint warnings during program execution is independent of the flavor
of awk being executed.
OFMTprint statement. It works by being passed
as the first argument to the sprintf function
(see String Functions).
Its default value is "%.6g". Earlier versions of awk
also used OFMT to specify the format for converting numbers to
strings in general expressions; this is now done by CONVFMT.
OFSprint statement. Its
default value is " ", a string consisting of a single space.
ORSprint statement. Its default value is "\n", the newline
character. (See Output Separators.)
RSThe ability for RS to be a regular expression
is a gawk extension.
In most other awk implementations,
or if gawk is in compatibility mode
(see Options),
just the first character of RS's value is used.
SUBSEP"\034" and is used to separate the parts of the indices of a
multidimensional array. Thus, the expression foo["A", "B"]
really accesses foo["A\034B"]
(see Multi-dimensional).
TEXTDOMAIN #dcgettext, dcngettext and bindtextdomain functions
(see Internationalization).
The default value of TEXTDOMAIN is "messages".
This variable is a gawk extension. In other awk implementations, or if gawk is in compatibility mode (see Options), it is not special.