• 每天进步一点点!

文章分类

推荐网站

常用手册

awk实用程序(三)【原创】

<<返回

2011-12-27 11:00:07

七、比较表达式

1.关系运算符

 

运算符

描述

赋值运算符

= += -= *= /= %= ^= **=

赋值语句

逻辑运算符

||

逻辑或

&&

逻辑与

正则运算符

~ ~!

匹配正则表达式和不匹配正则表达式

关系运算符

< <= > >= != ==

关系运算符

算术运算符

+ -

加,减

* / &

乘,除与求余

+ - !

一元加,减和逻辑非

^ ***

求幂

++ --

增加或减少,作为前缀或后缀

其它运算符

$

字段引用

空格

字符串连接符

?:

C条件表达式

in

数组中是否存在某键值

 

例:

awk '$1==123 {print $0}' test_awk.txt   

#123     456     1.23    4.5     321

说明:当第一个字段等于123时,打印该条记录。

例:

awk '$1 ~ /ABC/ {print $0}' test_awk.txt

#ABC     Def     hIc     lmN     ABC
#ABC     Def     cih     lmN     dsf

说明:当以第一个字段匹配模式ABC时,打印该条记录。

 

2.条件表达式

格式:条件表达式1 ? 表达式2 : 表达式3

例:

cat test

123 125 456 789

awk 'max=$1 > $2 ? $1 : $2 {print max}' test

#125

说明:当第一个字段大于第二个字段时,max等于第一个字段的值,否则max等于第二个字段的值,打印max的值

 

3.算术运算符

awk的运算符包括加、减、乘、除、摸、幂(^)。

例:

 

cat test

123 125 456 789

awk '$1 + $2 > 200 {print $0}' test

#123 125 456 789

说明:第一个字段的值加上第二个字段的值结果如果大于200,则打印该条记录。

 

4.逻辑操作符和复合模式

awk的逻辑操作符包括:与、或、非。复合模式使用逻辑运算符将模式组合起来形成的表达式。表达式的计算式从左向右的。

例:

awk '$1 >100 && $2 > 100 {print $0}' test  

#123 125 456 789

 

5.范围模式

范围模式先匹配从第一个模式的首次出现到第二个模式首次出现的内容,然后匹配从第一个模式的下一次出现到第二个模式下一次出现之间的内容,以此类推。如果匹配到第一个模式而发现第二个模式,awk就显示从第一个模式出现的行到文件末尾之间所有的行。

awk '/abc/,/ABC/{print $0}' test_awk.txt 

#abc     def     hic     lmn     abc
#123     456     1.23    4.5     321
#ABC     Def     hIc     lmN     ABC

说明:打印匹配模式abc和匹配模式ABC之间的行。

上一篇:awk实用程序(二)

下一篇:awk实用程序(四)

文章评论

  • 暂无评论

发表评论

昵称:

内容:

发表评论