跳到主要内容

16、AWK 比较(关系)运算符

比较运算符,又称之为关系运算符,包括 ==、!= 、><、>=、<= 六片、个运算符

等于运算符

AWK中的小于比较运算符用 == 表示,如果左操作数等于右操作数,返回 true,否则返回 false

[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 25; if (x == y ) print x " == " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 24; if (x == y ) print x " == " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 26; if (x == y ) print x " == " y }'

运行以上命令,返回结果如下

25 == 25

第二个和第三个没有输出,是因为它不满足条件

不等于运算符

AWK中的小于比较运算符用 != 表示,如果左操作数不等于右操作数,返回 true,否则返回 false

[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 25; if (x != y ) print x " != " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 24; if (x != y ) print x " != " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 26; if (x != y ) print x " != " y }'

运行以上命令,返回结果如下

25 != 24
25 != 26

第一个没有输出,是因为它不满足条件

小于运算符

AWK中的小于比较运算符用 `< 表示,如果左操作数小于右操作数,返回 true,否则返回 false

[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 25; if (x < y ) print x " < " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 24; if (x < y ) print x " < " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 26; if (x < y ) print x " < " y }'

运行以上命令,返回结果如下

25 < 26

第一个和第二个没有输出,是因为它不满足条件

小于等于运算符

AWK中的小于等于比较运算符用 `<= 表示,如果左操作数小于或等于右操作数,返回 true,否则返回 false

[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 25; if (x <= y ) print x " <= " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 24; if (x <= y ) print x " <= " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 26; if (x <= y ) print x " <= " y }'

运行以上命令,返回结果如下

25 <= 25
25 <= 26

第二个没有输出,是因为它不满足条件

大于运算符

AWK中的大于比较运算符用 >` 表示,如果左操作数大于右操作数,返回 true,否则返回 false

[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 25; if (x > y ) print x " > " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 24; if (x > y ) print x " > " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 26; if (x > y ) print x " > " y }'

运行以上命令,返回结果如下

25 > 24

可以看到,只有一个输出,那是因为第一个和第三个都不满足条件

大于等于运算符

AWK中的大于等于比较运算符用 >`= 表示,如果左操作数大于或等于右操作数,返回 true,否则返回 false

[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 25; if (x >= y ) print x " >= " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 24; if (x >= y ) print x " >= " y }'
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 26; if (x >= y ) print x " >= " y }'

运行以上命令,返回结果如下

25 >= 25
25 >= 24

第三个没有输出,是因为它不满足条件