AWK - 邏輯運算子



AWK 支援以下邏輯運算子:

邏輯 AND

&& 表示。語法如下所示:

語法

expr1 && expr2

如果 expr1 和 expr2 都計算為 true,則計算為 true;否則返回 false。僅當 expr1 計算為 true 時才會計算 expr2。例如,以下示例檢查給定的位數是否格式為八進位制。

示例

[jerry]$ awk 'BEGIN {
   num = 5; if (num >= 0 && num <= 7) printf "%d is in octal format\n", num 
}'

執行該程式碼後,會得到以下結果:

輸出

5 is in octal format

邏輯 OR

|| 表示。邏輯 OR 的語法為:

語法

expr1 || expr2

如果 expr1 或 expr2 計算為 true,則計算為 true;否則返回 false。僅當 expr1 計算為 false 時才會計算 expr2。以下示例演示了這一點:

示例

[jerry]$ awk 'BEGIN {
   ch = "\n"; if (ch == " " || ch == "\t" || ch == "\n") 
   print "Current character is whitespace." 
}'

執行該程式碼後,會得到以下結果:

輸出

Current character is whitespace

邏輯 NOT

感嘆號 (!) 表示。以下示例演示了這一點:

示例

! expr1

返回 expr1 的邏輯補充。如果 expr1 計算為 true,則返回 0;否則返回 1。例如,以下示例檢查字串是否為空。

示例

[jerry]$ awk 'BEGIN { name = ""; if (! length(name)) print "name is empty string." }'

執行該程式碼後,會得到以下結果:

輸出

name is empty string.
awk_operators.htm
廣告
© . All rights reserved.