gawk: Getline/Variable

 
 4.10.2 Using 'getline' into a Variable
 --------------------------------------
 
 You can use 'getline VAR' to read the next record from 'awk''s input
 into the variable VAR.  No other processing is done.  For example,
 suppose the next line is a comment or a special string, and you want to
 read it without triggering any rules.  This form of 'getline' allows you
 to read that line and store it in a variable so that the main
 read-a-line-and-check-each-rule loop of 'awk' never sees it.  The
 following example swaps every two lines of input:
 
      {
           if ((getline tmp) > 0) {
                print tmp
                print $0
           } else
                print $0
      }
 
 It takes the following list:
 
      wan
      tew
      free
      phore
 
 and produces these results:
 
      tew
      wan
      phore
      free
 
    The 'getline' command used in this way sets only the variables 'NR',
 'FNR', and 'RT' (and, of course, VAR).  The record is not split into
 fields, so the values of the fields (including '$0') and the value of
 'NF' do not change.