条件语句用于在执行操作之前做一个测试。在前面的章节中,我们看到了模式匹配规则的一些示例。模式匹配规则本质上就是影响输入循环的条件表达式。在这一部分,我们主要就在action中所使用的条件语句进行探讨。条件语句以if开头,并计算放在圆括号中的表达式。语法是:
if
(expression
)
action1
[ else
action2 ]
action1
[ else
action2 ]
如果条件表达式expression的值为真(非零或非空),就执行action1 。当存在else语句时,如果条件表达式的值为假(零或空) ,则执行action2。一个条件表达式可能包含算术运算符、关系操作符、或布尔操作符,这些都在awk脚本中讨论过。也许最简单的条件表达式是测试一个变量是否非零。
if
(x
) print x
如果x是零, print语句将不执行。如果x是一个非零值,将打印x的值。也可以测试x是否等于另一个值:
if
( x
== y <