与其他编程语言一样,AWK提供条件语句来控制程序的流程。本章以适当的示例说明AWK的控制语句。

If 语句

它仅测试条件并根据条件执行某些操作。下面给出的是 if 语句的语法-

if (condition)
   action

我们还可以使用下面给出的一对花括号来执行多个动作-

if (condition) {
   action-1
   action-1
   .
   .
   action-n
}

如,以下示例检查数字是否为偶数-

[Learnfk]$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。 例如,以下示例检查数字是否为偶数-

[Learnfk]$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 图。以下示例演示了这一点-

[Learnfk]$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

参考链接

https://www.learnfk.com/awk/awk-control-flow.html