使用布爾操作符可以將一系列的比較組合起來。下表列出了布爾操作符。
給定兩個或多個表達式,只有當給定的表達式之一的值為真(非零或非空)時,使用操作符||的整個表達式的值才為真。而只有當&&操作符連接的兩個表達式的值都為真時結果才為真。
下面的表達式:
NF == 6 && NR > 1表示字段的數量必須等於6並且記錄的編號必須大於1。
&&比||的優先級別高。你能說出下面的表達式的計算結果嗎?
NR > 1 && NF >= 2 || $1 ~ /\t/下面的例子用圓括號表明了基於優先規則那個表達式將首先被求值。
(NR > 1 && NF >= 2) || $1 ~ /\t/換句話說,圓括號中的兩個表達式必須都為真或圓括號右邊的表達式為真。可以用圓括號來改變優先規則,例如,下面的例子規定兩個條件必須都為真。
NR > 1 && (NF >= 2 || $1 ~ /\t/)第一個條件必須為真,而且另外兩個條件中必須有一個為真。
無論一個表達式的值為真或為假,操作符!都對其值取反。
! (NR > 1 && NF > 3)如果圓括號中的表達式的值為假,那麼上面的表達式的結果就為真。這個操作符與awk的in操作符結合起來非常有用,可用來判斷某個下標是否在數組中(在後面我們將會看到)。當然它還有其他的用途。