運算符優先級表數組
[root@sxooky ~]# var=6 [root@sxooky ~]# echo |awk '{print v1%5}' v1=$var 1 [root@sxooky ~]# echo |awk '{print v1/5}' v1=$var 1.2 [root@sxooky ~]# echo |awk '{print v1*5}' v1=$var 30 [root@sxooky ~]# echo |awk '{print v1-5}' v1=$var 1 [root@sxooky ~]# echo |awk '{print v1+5}' v1=$var 11 [root@sxooky ~]# echo |awk '{print v1+=3}' v1=$var 9 [root@sxooky ~]# echo |awk '{print v1-=3}' v1=$var 3 [root@sxooky ~]# echo |awk '{print v1*=3}' v1=$var 18 [root@sxooky ~]# echo |awk '{print v1/=3}' v1=$var 2 [root@sxooky ~]# echo |awk '{print v1%=3}' v1=$var 0 [root@sxooky ~]# echo |awk '{print v1^=3}' v1=$var 216 [root@sxooky ~]# echo |awk '{print v1**=3}' v1=$var 216
[root@sxooky ~]# var1=6 [root@sxooky ~]# var2=4 [root@sxooky ~]# awk 'BEGIN{a=v1*3;b=v2^3;print ( a>20 && b<70)}' v1=$var1 v2=$var2 0 [root@sxooky ~]# awk 'BEGIN{a=v1*3;b=v2^3;print ( a>20 || b<70)}' v1=$var1 v2=$var2 1 [root@sxooky ~]# awk 'BEGIN{a=v1*3;b=v2^3;print ( a<20 && b>70)}' v1=$var1 v2=$var2 0 [root@sxooky ~]# awk 'BEGIN{a=v1*3;b=v2^3;print ( a<20 || b>70)}' v1=$var1 v2=$var2 1 [root@sxooky ~]# awk 'BEGIN{a=v1*3;b=v2^3;print ( a<20 && b<70)}' v1=$var1 v2=$var2 1 [root@sxooky ~]# awk 'BEGIN{a=v1*3;b=v2^3;print ( a<20 || b<70)}' v1=$var1 v2=$var2 1
[root@sxooky ~]# awk 'BEGIN{a="100testnumber";if(a ~ /100*/){print "OK"} else {print "ERROR"}}' OK [root@sxooky ~]# awk 'BEGIN{a="100testnumber";if(a !~ /100*/){print "OK"} else {print "ERROR"}}' ERROR
[root@sxooky ~]# awk 'BEGIN{a=10;if(a>9){print "OK"} else {print "ERROR"}}' OK [root@sxooky ~]# awk 'BEGIN{a=10;if(a>=9){print "OK"} else {print "ERROR"}}' OK [root@sxooky ~]# awk 'BEGIN{a=10;if(a<9){print "OK"} else {print "ERROR"}}' ERROR [root@sxooky ~]# awk 'BEGIN{a=10;if(a<=9){print "OK"} else {print "ERROR"}}' ERROR [root@sxooky ~]# awk 'BEGIN{a=10;if(a!=9){print "OK"} else {print "ERROR"}}' OK [root@sxooky ~]# awk 'BEGIN{a=10;if(a==9){print "OK"} else {print "ERROR"}}' ERROR [root@sxooky ~]# awk 'BEGIN{a=10;if(a==10){print "OK"} else {print "ERROR"}}' OK
注意:> < 能夠做爲字符串比較,也能夠用做數值比較,關鍵看操做數若是是字符串就會轉換爲字符串比較。兩個都爲數字才轉爲數值比較。字符串比較:按照ASCII碼順序比較bash
[root@sxooky ~]# awk 'BEGIN{a="b";print a=="b" ? "OK" : "ERROR"}' OK [root@sxooky ~]# awk 'BEGIN{a="b";print a!="b" ? "OK" : "ERROR"}' ERROR [root@sxooky ~]# awk 'BEGIN{a="bc";print a!="b" ? "OK" : "ERROR"}' OK [root@sxooky ~]# awk 'BEGIN{a="b";arr[0]="b";arr[1]="c";if(a in arr){print "OK"}else{print "ERROR"}}' ERROR [root@sxooky ~]# awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";if(a in arr){print %