AWK 控制流

2018-08-12 21:30 更新

控制流  

與其實(shí)的編程語言一樣,AWK 同樣提供了條件語句控制程序的執(zhí)行流程。這一章中我們會介紹 AWK 中條件語句的使用方法。

IF 語句

條件語句測試條件然后根據(jù)條件選擇執(zhí)行相應(yīng)的動作。下面是條件語句的語法:

if (condition)
    action

也可以使用花括號來執(zhí)行一組操作:

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

下面的例子判斷數(shù)字是奇數(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語句中允許在條件為假時(shí)執(zhí)行另外一組的動作。下面為 if-else 的語法格式:

if (condition)
    action-1
else
    action-2

其中,條件為真時(shí)執(zhí)行 action-1,條件為假時(shí)執(zhí)行 action-2。下面是使用該語句判斷數(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 梯

我們可以很輕松地使用多個(gè) if-else 語句構(gòu)造 if-else-if 梯從而實(shí)現(xiàn)多個(gè)條件的判斷。示例如下:

[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
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號