一、運算符介紹
運算符 |
描述 |
賦值運算符 |
= += -= *= /= %= ^= **= |
賦值語句 |
邏輯運算符 |
|| |
邏輯或 |
|
邏輯與 |
正則運算符 |
~ ~! |
匹配正則表達式和不匹配正則表達式 |
關系運算符 |
= > >= != == |
關系運算符 |
算術運算符 |
+ - |
加,減 |
* / |
乘,除與求余 |
+ - ! |
一元加,減和邏輯非 |
^ *** |
求冪 |
++ -- |
增加或減少,作為前綴或后綴 |
其它運算符 |
$ |
字段引用 |
空格 |
字符串連接符 |
?: |
C條件表達式 |
in |
數組中是否存在某鍵值 |
說明: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運算符,判斷數組中是否存在該鍵值。