manpagez: man pages & more
info gawk
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.4.1 The if-else Statement

The 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.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.