< 小于 x
<= 小于等于 x<=y
== 等于 x==y
!= 不等于 x!=y
>= 大于等于 x>=y
> 大于 x>y
~ 与RE匹配 x ~ /y/
!~ 与RE不匹配 x !~ /y/
awk '$3 == 10' datafile
如果某行第三个字段等于10,则打印该行
awk '$3 > 500' datafile
如果某行第三个字段值大于500 ,则打印该行
条件表达式
格式:
条件表达式1 ? 表达式2 :表达式3
awk '{max=($1 > $2) ? $1 : $2;print max}' datafile
如果记录的第一个字段大于第二个字段,则把问号后面的表达式值赋值给max,否则 就把冒号后面的值赋给max
相当于
if ($1 > $2)
max=$1
else
max=$2
算术运算符
+ - * / % ^
awk '$3 * $4 > 500' filename
逻辑操作符和复合模式
&& 逻辑与
|| 逻辑或
! 逻辑非
awk '$2 > 5 && $2 <= 15' datafile
awk '$3 == 100 || $4 > 50' datafile
范围模式
awk '/tom/,/susan/' datafile
相等性测试
awk '$7 == 5' datafile
awk '$7 != 5' datafile
awk '$8 <= 17 {print $8}' datafile
算术运算符
awk '/west/{print $8 + 10}' datafile
awk '/south/{print $5 + 10}' datafile
条件运算符
awk '{print ($7 > 4 ? "High:" $7 : "Low:" $7)}' datafile
awk '/derek/ {$8+=12;print $8}' datafile
赋值运算符
= a=5
+= a=a+5
-= a=a-5
*= a=a*5
/= a=a/5
%= a=a%5
^= a=a^5
x++ 相当于 x = x + 1
x-- 相当于 x = x - 1
阅读(6797) | 评论(0) | 转发(2) |