Action Overview (The GNU Awk User’s Guide)
Next: Statements, Previous: Using Shell Variables, Up: Patterns and Actions [Contents][Index]
7.3 Actions
An awk
program or script consists of a series of rules and function definitions interspersed. (Functions are described later. See section 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 braces (‘{…}
’). Each statement specifies one thing to do. The statements are separated by newlines or semicolons. The 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 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
Call functions or assign values to variables (see section Expressions). Executing this kind of statement simply computes the value of the expression. This is useful when the expression has side effects (see section Assignment Expressions).
Control statements
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 (see section Control Statements in Actions).
Compound statements
Enclose one or more statements in 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
Use the getline
command (see section Explicit Input with getline). Also supplied in awk
are the next
statement (see section The next Statement) and the nextfile
statement (see section The nextfile Statement).
Output statements
Such as print
and printf
. See section Printing Output.
Deletion statements
For deleting array elements. See section The delete Statement.
Next: Statements, Previous: Using Shell Variables, Up: Patterns and Actions [Contents][Index]