manpagez: man pages & more
info gawk
Home | html | info | man

File: gawk.info,  Node: FS versus FPAT,  Prev: More CSV,  Up: Splitting By Content

4.7.2 'FS' Versus 'FPAT': A Subtle Difference
---------------------------------------------

As we discussed earlier, 'FS' describes the data between fields ("what
fields are not") and 'FPAT' describes the fields themselves ("what
fields are").  This leads to a subtle difference in how fields are found
when using regexps as the value for 'FS' or 'FPAT'.

   In order to distinguish one field from another, there must be a
non-empty separator between each field.  This makes intuitive
sense--otherwise one could not distinguish fields from separators.

   Thus, regular expression matching as done when splitting fields with
'FS' is not allowed to match the null string; it must always match at
least one character, in order to be able to proceed through the entire
record.

   On the other hand, regular expression matching with 'FPAT' can match
the null string, and the non-matching intervening characters function as
the separators.

   This same difference is reflected in how matching is done with the
'split()' and 'patsplit()' functions (*note String Functions::).

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.