像其他的编程语言AWK还提供条件语句以控制程序流程。本教程介绍AWK的条件语句的使用例子。
If 语句
它只是测试条件,并执行特定操作,这取决于条件。下面是 if 语句的语法:
if (condition) action
我们也可以用一对大括号,如下所示执行多个操作:
if (condition) { action-1 action-1 . . action-n }
例如下面简单的例子,检查给定的数是否为偶数:
[jerry]$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d is even number.\n", num }'
在执行上面的代码后,得到以下结果:
10 is even number.
If else 语句
在if-else语句的语法,能够提供操作列表,当条件为false时就执行。
下面是 if-else 语句的语法:
if (condition) action-1 else action-2
在上面的语法:条件计算为true时执行action-1 ,action-2条件计算为false时执行。例如下面简单的例子,检查给定的数是否为偶数:
[jerry]$ awk 'BEGIN {num = 11; if (num % 2 == 0) printf "%d is even number.\n", num; else printf "%d is odd number.\n", num }'
在执行上面的代码后,得到以下结果:
11 is odd number.
If-else-If 阶梯
可以轻松地创建if-else-if阶梯使用多个if-else语句。下面简单的例子说明了这一点:
[jerry]$ awk 'BEGIN { a=30; if (a==10) print "a = 10"; else if (a == 20) print "a = 20"; else if (a == 30) print "a = 30"; }'
在执行上面的代码后,得到以下结果:
a = 30