一、運(yùn)算符介紹
| 運(yùn)算符 | 描述 |
| 賦值運(yùn)算符 |
| = += -= *= /= %= ^= **= | 賦值語句 |
| 邏輯運(yùn)算符 |
| || | 邏輯或 |
| && | 邏輯與 |
| 正則運(yùn)算符 |
| ~ ~! | 匹配正則表達(dá)式和不匹配正則表達(dá)式 |
| 關(guān)系運(yùn)算符 |
| < <= > >= != == | 關(guān)系運(yùn)算符 |
| 算術(shù)運(yùn)算符 |
| + - | 加,減 |
| * / & | 乘,除與求余 |
| + - ! | 一元加,減和邏輯非 |
| ^ *** | 求冪 |
| ++ -- | 增加或減少,作為前綴或后綴 |
| 其它運(yùn)算符 |
| $ | 字段引用 |
| 空格 | 字符串連接符 |
| ?: | C條件表達(dá)式 |
| in | 數(shù)組中是否存在某鍵值 |
說明:awk運(yùn)算符基本與c語言相同。表達(dá)式及功能基本相同
二、實例介紹
awk賦值運(yùn)算符
a+=5; 等價于:a=a+5; 其它同類
awk邏輯運(yùn)算符
[chengmo@localhost ~]$ awk 'BEGIN{a=1;b=2;print (a>5 && b<=2),(a>5 || b<=2);}'
0 1
awk正則運(yùn)算符
[chengmo@localhost ~]$ awk 'BEGIN{a="100testa";if(a ~ /^100*/){print "ok";}}'
ok
awk關(guān)系運(yù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ù)運(yùn)算符
說明,所有用作算術(shù)運(yùn)算符 進(jìn)行操作,操作數(shù)自動轉(zhuǎn)為數(shù)值,所有非數(shù)值都變?yōu)?。
[chengmo@localhost ~]$ awk 'BEGIN{a="b";print a++,++a;}'
0 2
其它運(yùn)算符
?:運(yùn)算符
[chengmo@localhost ~]$ awk 'BEGIN{a="b";print a=="b"?"ok":"err";}'
ok </p> <p>in運(yùn)算符
[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運(yùn)算符,判斷數(shù)組中是否存在該鍵值。