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

在上述語法中,當 condition 的值評估為真時執行 action-1,當 condition 的值評估為假時執行 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
廣告
© . All rights reserved.