布尔表达式用于确定给定条件的出现。Awk提供基本的逻辑运算符or and or 而不是 逻辑运算符。在本教程中,我们将了解这些逻辑运算符的基本用法。布尔逻辑运算符主要用于条件语句,我们可以从下面的教程中获得更多信息。
示例数据
在进行逻辑示例时,我们将使用以下测试数据,文件名是 students.txt
. 数字是exam1、exam2和exam3。
ismail 45 80 75 ali 80 90 100 elif 80 95 45
Awk与逻辑
and
逻辑用于检查是否提供了所有布尔值 True
. 我们使用 &&
指定和逻辑。基本用法是提供两个布尔值,我们还可以提供两个以上的值。使用时的最佳实践 and
逻辑围绕着带括号的运算符和值 ( ... )
. and运算符的语法如下所示。
(CONDITION && CONDITION && ... )
在本例中,我们将检查两个exam1和exam2等级是否超过 50
我们将打印学生的名字。
$ awk '{ if( $2>50 && $3>50 ) print $1 }' students.txt
如我们所见,我们检查列 2
和 3
哪个和 exam1
和 exam2
Awk或逻辑
OR
逻辑用于检查给定的条件,如果其中一个条件为真,则检查整个条件 逻辑将返回true。我们将使用|| 说明或逻辑的符号。OR逻辑的语法如下。
(CONDITION || CONDITION || ... )
在本例中,我们将检查所有三个考试学位,并找到至少一次必须获得低于50的学位的学生。
$ awk '{ if( $2<50 || $3<50 || $4<50 ) print $1 }' students.txt
$2
, $3
和 $4
与匹配 exam1
, exam2
和 exam3
如果其中一个分数低于50,我们用Or逻辑检查所有分数。如果是这样,我们就打印学生的名字。
相关文章: 如何以不同的方式获取Linux网络IP地址?
Awk非逻辑
NOT逻辑提供给定的布尔值。如果给定的值是 True
NOT逻辑返回值将为false。如果给定的布尔值为 False
NOT逻辑后返回值为真。看下面的列表。我们将使用 !
以非操作员身份签名。
- ! 真=假
- ! 假=真
语法如下。使用括号将使脚本更加可靠。
!(CONDITION)
现在来举个例子,我们打印学生的名字,那些名字不是 ismail
.
$ awk '{ if( !($1=="ismail") ) print $1 }' students.txt
我们的条件是 $1=="ismail"
并用 !
不是操作员。