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
}
}