getline
¶So far we have been getting our input data from awk
’s main
input stream—either the standard input (usually your keyboard, sometimes
the output from another program) or the
files specified on the command line. The awk
language has a
special built-in function called getline
that
can be used to read input under your explicit control.
The getline
function is used in several different ways and should
not be used by beginners.
The examples that follow the explanation of the getline
function
include material that has not been covered yet. Therefore, come back
and study the getline
function after you have reviewed the
rest of
this Web page
and have a good knowledge of how awk
works.
The getline
function returns 1 if it finds a record and 0 if
it encounters the end of the file. If there is some error in getting
a record, such as a file that cannot be opened, then getline
returns −1. In this case, gawk
sets the variable
ERRNO
to a string describing the error that occurred.
If ERRNO
indicates that the I/O operation may be
retried, and PROCINFO["input", "RETRY"]
is set,
then getline
returns −2
instead of −1, and further calls to getline
may be attempted. See Retrying Reads After Certain Input Errors for further information about
this feature.
In the following examples, command stands for a string value that represents a shell command.
NOTE: When --sandbox is specified (see Command-Line Options), reading lines from files, pipes, and coprocesses is disabled.
getline
with No Argumentsgetline
into a Variablegetline
from a Filegetline
into a Variable from a Filegetline
from a Pipegetline
into a Variable from a Pipegetline
from a Coprocessgetline
into a Variable from a Coprocessgetline
getline
Variants