📜  AWK-控制流

📅  最后修改于: 2020-11-05 03:52:00             🧑  作者: Mango


与其他编程语言一样,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语法中,我们可以提供条件变为假时要执行的操作的列表。

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