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语法中,我们可以提供当条件为假时要执行的操作列表。
if-else语句的语法如下 −
语法
if (condition)
action-1
else
action-2
在上面的语法中,当条件为true时执行action-1,当条件为false时执行action-2。例如,以下示例检查一个数字是否为偶数 –
示例
[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-else-if 阶梯。以下示例演示了这一点−
示例
[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