Go forward to Expressions.
Go backward to Patterns.
Go up to Top.

Overview of Actions

   An `awk' program or script consists of a series of rules and
function definitions, interspersed.  (Functions are described later.
See User-defined Functions: User-defined.)

   A rule contains a pattern and an action, either of which may be
omitted.  The purpose of the "action" is to tell `awk' what to do once
a match for the pattern is found.  Thus, the entire program looks
somewhat like this:

     [PATTERN] [{ ACTION }]
     [PATTERN] [{ ACTION }]
     function NAME (ARGS) { ... }

   An action consists of one or more `awk' "statements", enclosed in
curly braces (`{' and `}').  Each statement specifies one thing to be
done.  The statements are separated by newlines or semicolons.

   The curly braces around an action must be used even if the action
contains only one statement, or even if it contains no statements at
all.  However, if you omit the action entirely, omit the curly braces as
well.  (An omitted action is equivalent to `{ print $0 }'.)

   Here are the kinds of statements supported in `awk':

   * Expressions, which can call functions or assign values to variables
     (see Expressions as Action Statements: Expressions.).  Executing
     this kind of statement simply computes the value of the expression
     and then ignores it.  This is useful when the expression has side
     effects (see Assignment Expressions: Assignment Ops.).

   * Control statements, which specify the control flow of `awk'
     programs.  The `awk' language gives you C-like constructs (`if',
     `for', `while', and so on) as well as a few special ones (
see Control Statements in Actions: Statements.).

   * Compound statements, which consist of one or more statements
     enclosed in curly braces.  A compound statement is used in order
     to put several statements together in the body of an `if',
     `while', `do' or `for' statement.

   * Input control, using the `getline' command (*note Explicit Input
     with `getline': Getline.), and the `next' statement (*note The
     `next' Statement: Next Statement.).

   * Output statements, `print' and `printf'.  See Printing Output: Printing.

   * Deletion statements, for deleting array elements.  *Note The
     `delete' Statement: Delete.