Next: Setting FS
from the Command Line, Previous: Using Regular Expressions to Separate Fields, Up: Specifying How Fields Are Separated [Contents][Index]
There are times when you may want to examine each character
of a record separately. This can be done in gawk
by
simply assigning the null string (""
) to FS
. (c.e.)
In this case,
each individual character in the record becomes a separate field.
For example:
$ echo a b | gawk 'BEGIN { FS = "" } > { > for (i = 1; i <= NF; i = i + 1) > print "Field", i, "is", $i > }' -| Field 1 is a -| Field 2 is -| Field 3 is b
Traditionally, the behavior of FS
equal to ""
was not defined.
In this case, most versions of Unix awk
simply treat the entire record
as only having one field.
(d.c.)
In compatibility mode
(see Command-Line Options),
if FS
is the null string, then gawk
also
behaves this way.