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語句的語法,能夠提供操作列表,當條件為false時就執行。

下面是 if-else 語句的語法:

if (condition)
    action-1
else
    action-2

在上面的語法:條件計算為true時執行action-1 ,action-2條件計算為false時執行。例如下面簡單的例子,檢查給定的數是否為偶數:

[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階梯使用多個if-else語句。下面簡單的例子說明了這一點:

[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