一、运算符介绍
 
    
        
            | 运算符 | 描述 | 
    
    
        
            | 赋值运算符 | 
        
            | = += -= *= /= %= ^= **= | 赋值语句 | 
        
            | 逻辑运算符 | 
        
            | || | 逻辑或 | 
        
            | && | 逻辑与 | 
        
            | 正则运算符 | 
        
            | ~ ~! | 匹配正则表达式和不匹配正则表达式 | 
        
            | 关系运算符 | 
        
            | < <= > >= != == | 关系运算符 | 
        
            | 算术运算符 | 
        
            | + - | 加,减 | 
        
            | * / & | 乘,除与求余 | 
        
            | + - ! | 一元加,减和逻辑非 | 
        
            | ^ *** | 求幂 | 
        
            | ++ -- | 增加或减少,作为前缀或后缀 | 
        
            | 其它运算符 | 
        
            | $ | 字段引用 | 
        
            | 空格 | 字符串连接符 | 
        
            | ?: | C条件表达式 | 
        
            | in | 数组中是否存在某键值 | 
    
说明:linuxjishu/13830.html target=_blank class=infotextkey>awk运算符基本与c语言相同。表达式及功能基本相同
二、实例介绍
awk赋值运算符
a+=5; 等价于:a=a+5; 其它同类
 
 
awk逻辑运算符 
[chengmo@localhost ~]$ awk 'BEGIN{a=1;b=2;print (a>5 && b<=2),(a>5 || b<=2);}'
0 1
 
 
awk正则运算符 
[chengmo@localhost ~]$ awk 'BEGIN{a="100testa";if(a ~ /^100*/){print "ok";}}'
ok
 
 
awk关系运算符
 
如:> < 可以作为
字符串比较,也可以用作数值比较,关键看操作数如果是字符串 就会转换为字符串比较。两个都为数字 才转为数值比较。字符串比较:按照ascii码顺序比较。</p> <p>[chengmo@localhost ~]$ awk 'BEGIN{a="11";if(a >= 9){print "ok";}}'</p> <p>[chengmo@localhost ~]$ awk 'BEGIN{a=11;if(a >= 9){print "ok";}}'
 
ok
 
 
awk算术运算符
 
说明,所有用作算术运算符 进行操作,操作数自动转为数值,所有非数值都变为0。
[chengmo@localhost ~]$ awk 'BEGIN{a="b";print a++,++a;}' 
0 2
 
 
其它运算符
 
?:运算符
[chengmo@localhost ~]$ awk 'BEGIN{a="b";print a=="b"?"ok":"err";}'
ok </p> <p>in运算符
[chengmo@localhost ~]$ awk 'BEGIN{a="b";arr[0]="b";arr[1]="c";print (a in arr);}'
0 
[chengmo@localhost ~]$ awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}'
1 
in运算符,判断数组中是否存在该键值。