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操作符结合起来非常有用,可用来判断某个下标是否在数组中(在后面我们将会看到)。当然它还有其他的用途。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。