Node:Single Character Fields, Next:Command Line Field Separator, Previous:Regexp Field Splitting, Up:Field Separators
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
. 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.