欢迎投稿

今日深度:

awk布尔操作符

awk布尔操作符


使用布尔操作符可以将一系列的比较组合起来。下表列出了布尔操作符。

运算符 含义 例子
&& 逻辑与 a && b
|| 逻辑或 a || b
! 逻辑非 !a

 

给定两个或多个表达式,只有当给定的表达式之一的值为真(非零或非空)时,使用操作符||的整个表达式的值才为真。而只有当&&操作符连接的两个表达式的值都为真时结果才为真。

下面的表达式:

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操作符结合起来非常有用,可用来判断某个下标是否在数组中(在后面我们将会看到)。当然它还有其他的用途。

www.htsjk.Com true http://www.htsjk.com/sybase/19792.html NewsArticle awk布尔操作符 使用布尔操作符可以将一系列的比较组合起来。下表列出了布尔操作符。 运算符 含义 例子 逻辑与 a b || 逻辑或 a || b ! 逻辑非 !a 给定两个或多个表达式,只有当给定的表...
评论暂时关闭