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; SeeConcatenation) is not parenthesized.  You should
 write it as 'getline < (dir "/" file)' if you want your program to be
 portable to all 'awk' implementations.