您的位置:首页 > 其它

awk布尔操作符

2015-06-21 19:15 218 查看
使用布尔操作符可以将一系列的比较组合起来。下表列出了布尔操作符。

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

参考资料:http://www.linuxawk.com/communication/508.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  awk布尔操作符