一、運算符介紹
運算符
描述
指派運算符
= += -= *= /= %= ^= **=
指派語句
邏輯運算符
||
邏輯或
&&
邏輯與
正則運算符
~ ~!
比對正規表達式和不比對正規表達式
關系運算符
< <= > >= != ==
算術運算符
+ -
加,減
* / &
乘,除與求餘
+ - !
一進制加,減和邏輯非
^ ***
求幂
++ --
增加或減少,作為字首或字尾
其它運算符
$
字段引用
空格
字元串連接配接符
?:
C條件表達式
in
數組中是否存在某鍵值
說明:awk運算符基本與c語言相同。表達式及功能基本相同
二、執行個體介紹
awk指派運算符
a+=5; 等價于:a=a+5; 其它同類
awk邏輯運算符
[gaoming@localhost ~]$ awk 'BEGIN{a=1;b=2;print (a>5 && b<=2),(a>5 || b<=2);}' 0 1
awk正則運算符
[gaoming@localhost ~]$ awk 'BEGIN{a="100testa";if(a ~ /^100*/){print "ok";}}' ok
awk關系運算符
如:> < 可以作為字元串比較,也可以用作數值比較,關鍵看操作數如果是字元串 就會轉換為字元串比較。兩個都為數字 才轉為數值比較。字元串比較:按照ascii碼順序比較。 [gaoming@localhost ~]$ awk 'BEGIN{a="11";if(a >= 9){print "ok";}}' [gaoming@localhost ~]$ awk 'BEGIN{a=11;if(a >= 9){print "ok";}}'
awk算術運算符
說明,所有用作算術運算符 進行操作,操作數自動轉為數值,所有非數值都變為0。 [gaoming@localhost ~]$ awk 'BEGIN{a="b";print a++,++a;}' 0 2
?:運算符 [gaoming@localhost ~]$ awk 'BEGIN{a="b";print a=="b"?"ok":"err";}' in運算符 [gaoming@localhost ~]$ awk 'BEGIN{a="b";arr[0]="b";arr[1]="c";print (a in arr);}' [gaoming@localhost ~]$ awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}' 1 in運算符,判斷數組中是否存在該鍵值。