像其他的編程語言AWK還提供條件語句以控制程序流程。本教程介紹AWK的條件語句的使用例子。
它只是測(cè)試條件,并執(zhí)行特定操作,這取決于條件。下面是 if 語句的語法:
if (condition) action
我們也可以用一對(duì)大括號(hào),如下所示執(zhí)行多個(gè)操作:
if (condition) { action-1 action-1 . . action-n }
例如下面簡(jiǎ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語句的語法,能夠提供操作列表,當(dāng)條件為false時(shí)就執(zhí)行。
下面是 if-else 語句的語法:
if (condition) action-1 else action-2
在上面的語法:條件計(jì)算為true時(shí)執(zhí)行action-1 ,action-2條件計(jì)算為false時(shí)執(zhí)行。例如下面簡(jiǎn)單的例子,檢查給定的數(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.
可以輕松地創(chuàng)建if-else-if階梯使用多個(gè)if-else語句。下面簡(jiǎn)單的例子說明了這一點(diǎn):
[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