continue
Statement
The continue
statement, like break
, is used only inside
for
, while
, and do
loops. It skips
over the rest of the loop body, causing the next cycle around the loop
to begin immediately. Contrast this with break
, which jumps out
of the loop altogether.
The continue
statement in a for
loop directs awk
to
skip the rest of the body of the loop, and resume execution with the
increment-expression of the for
statement. The following program
illustrates this fact:
awk 'BEGIN { for (x = 0; x <= 20; x++) { if (x == 5) continue printf "%d ", x } print "" }'
This program prints all the numbers from zero to 20, except for five, for
which the printf
is skipped. Since the increment `x++'
is not skipped, x
does not remain stuck at five. Contrast the
for
loop above with this while
loop:
awk 'BEGIN { x = 0 while (x <= 20) { if (x == 5) continue printf "%d ", x x++ } print "" }'
This program loops forever once x
gets to five.
As described above, the continue
statement has no meaning when
used outside the body of a loop. However, although it was never documented,
historical implementations of awk
have treated the continue
statement outside of a loop as if it were a next
statement
(see section The next
Statement).
Recent versions of Unix awk
no longer allow this usage.
gawk
will support this use of continue
only if
`--traditional' has been specified on the command line
(see section Command Line Options).
Otherwise, it will be treated as an error, since the POSIX standard
specifies that continue
should only be used inside the body of a
loop (d.c.).
Go to the first, previous, next, last section, table of contents.