Node:Action Overview, Next:Statements, Previous:Using Shell Variables, Up:Patterns and Actions
An awk program or script consists of a series of
rules and function definitions interspersed. (Functions are
described later. See 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 ({...}). 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:
awk
programs. The awk language gives you C-like constructs
(if, for, while, and do) as well as a few
special ones (see Control Statements in Actions).
if, while, do,
or for statement.
getline command
(see Explicit Input with getline).
Also supplied in awk are the next
statement (see The next Statement),
and the nextfile statement
(see Using gawk's nextfile Statement).
print and printf.
See Printing Output.
delete Statement.