Go forward to Continue Statement.
Go backward to For Statement.
Go up to Statements.
The `break' Statement
=====================
The `break' statement jumps out of the innermost `for', `while', or
`do'-`while' loop that encloses it. The following example finds the
smallest divisor of any integer, and also identifies prime numbers:
awk '# find smallest divisor of num
{ num = $1
for (div = 2; div*div <= num; div++)
if (num % div == 0)
break
if (num % div == 0)
printf "Smallest divisor of %d is %d\n", num, div
else
printf "%d is prime\n", num }'
When the remainder is zero in the first `if' statement, `awk'
immediately "breaks out" of the containing `for' loop. This means that
`awk' proceeds immediately to the statement following the loop and
continues processing. (This is very different from the `exit'
statement which stops the entire `awk' program. *Note The `exit'
Statement: Exit Statement.)
Here is another program equivalent to the previous one. It
illustrates how the CONDITION of a `for' or `while' could just as well
be replaced with a `break' inside an `if':
awk '# find smallest divisor of num
{ num = $1
for (div = 2; ; div++) {
if (num % div == 0) {
printf "Smallest divisor of %d is %d\n", num, div
break
}
if (div*div > num) {
printf "%d is prime\n", num
break
}
}
}'