AWK - 控制流


与其他编程语言一样,AWK 提供条件语句来控制程序流程。本章通过适当的示例解释了 AWK 的控制语句。

如果语句

它只是测试条件并根据条件执行某些操作。下面给出的是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语法中,我们可以提供当条件变为 false 时要执行的操作列表。

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