gawk: Getline/File
4.10.3 Using 'getline' from a File
----------------------------------
Use 'getline < FILE' to read the next record from FILE. Here, FILE is a
string-valued expression that specifies the file name. '< FILE' is
called a "redirection" because it directs input to come from a different
place. For example, the following program reads its input record from
the file 'secondary.input' when it encounters a first field with a value
equal to 10 in the current input file:
{
if ($1 == 10) {
getline < "secondary.input"
print
} else
print
}
Because the main input stream is not used, the values of 'NR' and
'FNR' are not changed. However, the record it reads is split into
fields in the normal manner, so the values of '$0' and the other fields
are changed, resulting in a new value of 'NF'. 'RT' is also set.
According to POSIX, 'getline < EXPRESSION' is ambiguous if EXPRESSION
contains unparenthesized operators other than '$'; for example, 'getline
< dir "/" file' is ambiguous because the concatenation operator (not
discussed yet; Concatenation) is not parenthesized. You should
write it as 'getline < (dir "/" file)' if you want your program to be
portable to all 'awk' implementations.