Node:If Statement, Next:While Statement, Previous:Statements, Up:Statements
if-else StatementThe if-else statement is awk's decision-making
statement. It looks like this:
if (condition) then-body [else else-body]
The condition is an expression that controls what the rest of the
statement does. If the condition is true, then-body is
executed; otherwise, else-body is executed.
The else part of the statement is
optional. The condition is considered false if its value is zero or
the null string; otherwise, the condition is true.
Refer to the following:
if (x % 2 == 0)
print "x is even"
else
print "x is odd"
In this example, if the expression x % 2 == 0 is true (that is,
if the value of x is evenly divisible by two), then the first
print statement is executed; otherwise, the second print
statement is executed.
If the else keyword appears on the same line as then-body and
then-body is not a compound statement (i.e., not surrounded by
curly braces), then a semicolon must separate then-body from
the else.
To illustrate this, the previous example can be rewritten as:
if (x % 2 == 0) print "x is even"; else
print "x is odd"
If the ; is left out, awk can't interpret the statement and
it produces a syntax error. Don't actually write programs this way,
because a human reader might fail to see the else if it is not
the first thing on its line.