Chinaunix首页 | 论坛 | 博客
  • 博客访问: 574951
  • 博文数量: 151
  • 博客积分: 3330
  • 博客等级: 中校
  • 技术积分: 1686
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-08 02:41
文章存档

2011年(151)

分类: LINUX

2011-04-26 03:30:49

关系运算符


<    小于        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


阅读(6758) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~