AWK控制流 - Awk教程
像其他的编程语言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