GNU Info

Info Node: (gawk.info)User-modified

(gawk.info)User-modified


Next: Auto-set Prev: Built-in Variables Up: Built-in Variables
Enter node , (file) or (file)node

Built-in Variables That Control `awk'
-------------------------------------

   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 #'
     On non-POSIX systems, this variable specifies use of "binary" mode
     for all I/O.  Numeric values of one, two, or three, specify that
     input files, output files, or all files, respectively, should use
     binary I/O.  Alternatively, string values of `"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 Note: Using `gawk' on PC
     Operating Systems.

     This variable is a `gawk' extension.  In other `awk'
     implementations (except `mawk', Note: Other Freely Available `awk'
     Implementations.), or if `gawk' is in
     compatibility mode (Note: Command-Line Options.), it is
     not special.

`CONVFMT'
     This string controls conversion of numbers to strings (Note:
     Conversion of Strings and Numbers.).  It works by
     being passed, in effect, as the first argument to the `sprintf'
     function (Note: String Manipulation Functions.).
     Its default value is `"%.6g"'.  `CONVFMT' was introduced by the
     POSIX standard.

`FIELDWIDTHS #'
     This is a space-separated list of columns that tells `gawk' how to
     split input with fixed columnar boundaries.  Assigning a value to
     `FIELDWIDTHS' overrides the use of `FS' for field splitting.
     Note: Reading Fixed-Width Data, for more
     information.

     If `gawk' is in compatibility mode (*note Command-Line Options:
     Options.), then `FIELDWIDTHS' has no special meaning, and
     field-splitting operations occur based exclusively on the value of
     `FS'.

`FS'
     This is the input field separator (Note: Specifying How Fields Are
     Separated.).  The value is a single-character
     string or a multi-character regular expression that matches the
     separations between fields in an input record.  If the value is
     the null string (`""'), 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 #'
     If `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.  Note:
     Case Sensitivity in Matching.

     If `gawk' is in compatibility mode (*note Command-Line Options:
     Options.), then `IGNORECASE' has no special meaning.  Thus, string
     and regexp operations are always case-sensitive.

`LINT #'
     When this variable is true (nonzero or non-null), `gawk' behaves
     as if the `--lint' command-line option is in effect.  (Note:
     Command-Line Options.).  With a value of `"fatal"', lint
     warnings become fatal errors.  Any other true value prints
     non-fatal 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.

`OFMT'
     This string controls conversion of numbers to strings (Note:
     Conversion of Strings and Numbers.) for printing with
     the `print' statement.  It works by being passed as the first
     argument to the `sprintf' function (Note: String Manipulation
     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'.

`OFS'
     This is the output field separator (Note: Output Separators).
     It is output between the fields printed by a `print' statement.
     Its default value is `" "', a string consisting of a single space.

`ORS'
     This is the output record separator.  It is output at the end of
     every `print' statement.  Its default value is `"\n"', the newline
     character.  (Note: Output Separators.)

`RS'
     This is `awk''s input record separator.  Its default value is a
     string containing a single newline character, which means that an
     input record consists of a single line of text.  It can also be
     the null string, in which case records are separated by runs of
     blank lines.  If it is a regexp, records are separated by matches
     of the regexp in the input text.  (Note: How Input Is Split into
     Records.)

     The ability for `RS' to be a regular expression is a `gawk'
     extension.  In most other `awk' implementations, or if `gawk' is
     in compatibility mode (Note: Command-Line Options.), just
     the first character of `RS''s value is used.

`SUBSEP'
     This is the subscript separator.  It has the default value of
     `"\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"]' (*note Multidimensional Arrays:
     Multi-dimensional.).

`TEXTDOMAIN #'
     This variable is used for internationalization of programs at the
     `awk' level.  It sets the default text domain for specially marked
     string constants in the source text, as well as for the
     `dcgettext' and `bindtextdomain' functions (Note:
     Internationalization with `gawk'.).  The
     default value of `TEXTDOMAIN' is `"messages"'.

     This variable is a `gawk' extension.  In other `awk'
     implementations, or if `gawk' is in compatibility mode (Note:
     Command-Line Options.), it is not special.

   ---------- Footnotes ----------

   (1) In POSIX `awk', newline does not count as whitespace.


automatically generated by info2www version 1.2.2.9