Go backward to Next File Statement.
Go up to Statements.

The `exit' Statement
====================

   The `exit' statement causes `awk' to immediately stop executing the
current rule and to stop processing input; any remaining input is
ignored.

   If an `exit' statement is executed from a `BEGIN' rule the program
stops processing everything immediately.  No input records are read.
However, if an `END' rule is present, it is executed (*note `BEGIN' and
`END' Special Patterns: BEGIN/END.).

   If `exit' is used as part of an `END' rule, it causes the program to
stop immediately.

   An `exit' statement that is part of an ordinary rule (that is, not
part of a `BEGIN' or `END' rule) stops the execution of any further
automatic rules, but the `END' rule is executed if there is one.  If
you do not want the `END' rule to do its job in this case, you can set
a variable to nonzero before the `exit' statement, and check that
variable in the `END' rule.

   If an argument is supplied to `exit', its value is used as the exit
status code for the `awk' process.  If no argument is supplied, `exit'
returns status zero (success).

   For example, let's say you've discovered an error condition you
really don't know how to handle.  Conventionally, programs report this
by exiting with a nonzero status.  Your `awk' program can do this using
an `exit' statement with a nonzero argument.  Here's an example of this:

     BEGIN {
            if (("date" | getline date_now) < 0) {
              print "Can't get system date" > "/dev/stderr"
              exit 4
            }
     }