gawk: Pattern Action Summary

 
 7.6 Summary
 ===========
 
    * Pattern-action pairs make up the basic elements of an 'awk'
      program.  Patterns are either normal expressions, range
      expressions, or regexp constants; one of the special keywords
      'BEGIN', 'END', 'BEGINFILE', or 'ENDFILE'; or empty.  The action
      executes if the current record matches the pattern.  Empty
      (missing) patterns match all records.
 
    * I/O from 'BEGIN' and 'END' rules has certain constraints.  This is
      also true, only more so, for 'BEGINFILE' and 'ENDFILE' rules.  The
      latter two give you "hooks" into 'gawk''s file processing, allowing
      you to recover from a file that otherwise would cause a fatal error
      (such as a file that cannot be opened).
 
    * Shell variables can be used in 'awk' programs by careful use of
      shell quoting.  It is easier to pass a shell variable into 'awk' by
      using the '-v' option and an 'awk' variable.
 
    * Actions consist of statements enclosed in curly braces.  Statements
      are built up from expressions, control statements, compound
      statements, input and output statements, and deletion statements.
 
    * The control statements in 'awk' are 'if'-'else', 'while', 'for',
      and 'do'-'while'.  'gawk' adds the 'switch' statement.  There are
      two flavors of 'for' statement: one for performing general looping,
      and the other for iterating through an array.
 
    * 'break' and 'continue' let you exit early or start the next
      iteration of a loop (or get out of a 'switch').
 
    * 'next' and 'nextfile' let you read the next record and start over
      at the top of your program or skip to the next input file and start
      over, respectively.
 
    * The 'exit' statement terminates your program.  When executed from
      an action (or function body), it transfers control to the 'END'
      statements.  From an 'END' statement body, it exits immediately.
      You may pass an optional numeric value to be used as 'awk''s exit
      status.
 
    * Some predefined variables provide control over 'awk', mainly for
      I/O. Other variables convey information from 'awk' to your program.
 
    * 'ARGC' and 'ARGV' make the command-line arguments available to your
      program.  Manipulating them from a 'BEGIN' rule lets you control
      how 'awk' will process the provided data files.