GNU Info

Info Node: (gawk.info)Action Overview

(gawk.info)Action Overview


Next: Statements Prev: Using Shell Variables Up: Patterns and Actions
Enter node , (file) or (file)node

Actions
=======

   An `awk' program or script consists of a series of rules and
function definitions interspersed.  (Functions are described later.
Note: User-Defined Functions.)  A rule contains a pattern
and an action, either of which (but not both) may be omitted.  The
purpose of the "action" is to tell `awk' what to do once a match for
the pattern is found.  Thus, in outline, an `awk' program generally
looks 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 do.
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 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 }':

     /foo/  { }     match `foo', do nothing -- empty action
     /foo/          match `foo', print the record -- omitted action

   The following types of statements are supported in `awk':

   * Expressions, which can call functions or assign values to variables
     (Note: Expressions).  Executing this kind of statement simply
     computes the value of the expression.  This is useful when the
     expression has side effects (*note 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 `do') as well as a few special ones (Note:
     Control Statements in Actions.).

   * 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 statements using the `getline' command (Note: Explicit Input
     with `getline'.), the `next' statement (Note: The `next'
     Statement.), and the `nextfile' statement (Note:
     Using `gawk''s `nextfile' Statement.).

   * Output statements, such as `print' and `printf'.  Note: Printing
     Output.

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


automatically generated by info2www version 1.2.2.9