(gawk.info.gz) User-modified

Info Catalog (gawk.info.gz) Built-in Variables (gawk.info.gz) Auto-set
 
 7.5.1 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.  A numeric value less than zero is treated as zero,
      and a numeric value greater than three is treated as three.
      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 treated the same as
      `"rw"', but causes `gawk' to generate a warning message.
      `BINMODE' is described in more detail in  PC Using.
 
      This variable is a `gawk' extension.  In other `awk'
      implementations (except `mawk',  Other Versions), or if
      `gawk' is in compatibility mode ( Options), it is not
      special.
 
 `CONVFMT'
      This string controls conversion of numbers to strings (
      Conversion).  It works by being passed, in effect, as the first
      argument to the `sprintf()' function ( String 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' and `FPAT' for field
      splitting.   Constant Size, for more information.
 
      If `gawk' is in compatibility mode ( Options), then
      `FIELDWIDTHS' has no special meaning, and field-splitting
      operations occur based exclusively on the value of `FS'.
 
 `FPAT #'
      This is a regular expression (as a string) that tells `gawk' to
      create the fields based on text that matches the regular
      expression.  Assigning a value to `FPAT' overrides the use of `FS'
      and `FIELDWIDTHS' for field splitting.   Splitting By
      Content, for more information.
 
      If `gawk' is in compatibility mode ( Options), then `FPAT'
      has no special meaning, and field-splitting operations occur based
      exclusively on the value of `FS'.
 
 `FS'
      This is the input field separator ( Field Separators).  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.  Nonetheless, some other versions of
      `awk' also treat `""' specially.)
 
      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' or `FPAT' 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()', `patsplit()', `split()', and
      `sub()' functions, record termination with `RS', and field
      splitting with `FS' and `FPAT', 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.  
      Case-sensitivity.
 
      If `gawk' is in compatibility mode ( 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.  (
      Options).  With a value of `"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.
 
 `OFMT'
      This string controls conversion of numbers to strings (
      Conversion) for printing with the `print' statement.  It works
      by being passed as the first argument to the `sprintf()' function
      ( 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'.
 
 `OFS'
      This is the output field separator ( 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.  ( 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.  ( 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 ( 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"]' ( 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()', `dcngettext()' and `bindtextdomain()' functions
      ( 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 (
      Options), it is not special.
 
    ---------- Footnotes ----------
 
    (1) In POSIX `awk', newline does not count as whitespace.
 
Info Catalog (gawk.info.gz) Built-in Variables (gawk.info.gz) Auto-set
automatically generated by info2html