鍍金池/ 教程/ Linux/ AWK控制流
AWK環(huán)境安裝配置
AWK格式化打印
Awk教程
AWK控制流
AWK循環(huán)
AWK用戶自定義函數(shù)
AWK工作流程
AWK數(shù)組
AWK基本語法
AWK基本示例
AWK運算符
AWK內(nèi)置函數(shù)
AWK內(nèi)置變量
AWK輸出重定向
AWK正則表達式

AWK控制流

像其他的編程語言AWK還提供條件語句以控制程序流程。本教程介紹AWK的條件語句的使用例子。

If 語句

它只是測試條件,并執(zhí)行特定操作,這取決于條件。下面是 if 語句的語法:

if (condition)
    action

我們也可以用一對大括號,如下所示執(zhí)行多個操作:

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

例如下面簡單的例子,檢查給定的數(shù)是否為偶數(shù):

[jerry]$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d is even number.\n", num }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

10 is even number.

If else 語句

在if-else語句的語法,能夠提供操作列表,當條件為false時就執(zhí)行。

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

if (condition)
    action-1
else
    action-2

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

[jerry]$ awk 'BEGIN {num = 11; if (num % 2 == 0) printf "%d is even number.\n", num; else printf "%d is odd number.\n", num }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

11 is odd number.

If-else-If 階梯

可以輕松地創(chuàng)建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";
}'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

a = 30