一、運算符介紹
運算符 |
描述 |
賦值運算符 |
= += -= *= /= %= ^= **= |
賦值語句 |
邏輯運算符 |
|| |
邏輯或 |
|
邏輯與 |
正則運算符 |
~ ~! |
匹配正則表達式和不匹配正則表達式 |
關(guān)系運算符 |
= > >= != == |
關(guān)系運算符 |
算術(shù)運算符 |
+ - |
加,減 |
* / |
乘,除與求余 |
+ - ! |
一元加,減和邏輯非 |
^ *** |
求冪 |
++ -- |
增加或減少,作為前綴或后綴 |
其它運算符 |
$ |
字段引用 |
空格 |
字符串連接符 |
?: |
C條件表達式 |
in |
數(shù)組中是否存在某鍵值 |
說明: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關(guān)系運算符
如:> 可以作為字符串比較,也可以用作數(shù)值比較,關(guān)鍵看操作數(shù)如果是字符串 就會轉(zhuǎn)換為字符串比較。兩個都為數(shù)字 才轉(zhuǎn)為數(shù)值比較。字符串比較:按照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算術(shù)運算符
說明,所有用作算術(shù)運算符 進行操作,操作數(shù)自動轉(zhuǎn)為數(shù)值,所有非數(shù)值都變?yōu)?。
[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運算符,判斷數(shù)組中是否存在該鍵值。