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 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/ { } matchfoo
, do nothing --- empty action /foo/ matchfoo
, print the record --- omitted action
The following types of statements are supported in awk
:
Call functions or assign values to variables (see Expressions). Executing this kind of statement simply computes the value of the expression. This is useful when the expression has side effects (see Assignment Expressions).
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 Control Statements in Actions).
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.
Use the getline
function
(see Explicit Input with getline
).
Also supplied in awk
are the next
statement (see The next
Statement)
and the nextfile
statement
(see The nextfile
Statement).
Such as print
and printf
.
See Printing Output.
For deleting array elements.
See The delete
Statement.