天天看點

awk 運算符(算術運算符,指派運算符,關系運算符,邏輯運算符,正則運算符)說明

awk作為文本處理優秀工具之一,它有獨自豐富的運算符。下面我們一起歸納總結一下,所有運算符。 可以分為:算術運算符,指派運算符,關系運算符,邏輯預算法,正則運算符。

一、運算符介紹

運算符

描述

指派運算符

= += -= *= /= %= ^= **=

指派語句

邏輯運算符

||

邏輯或

&&

邏輯與

正則運算符

~ ~!

比對正規表達式和不比對正規表達式

關系運算符

< <= > >= != ==

算術運算符

+ -

加,減

* / &

乘,除與求餘

+ - !

一進制加,減和邏輯非

^ ***

求幂

++ --

增加或減少,作為字首或字尾

其它運算符

$

字段引用

空格

字元串連接配接符

?:

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碼順序比較。 [chengmo@localhost ~]$ awk 'begin{a="11";if(a >= 9){print "ok";}}' [chengmo@localhost ~]$ awk 'begin{a=11;if(a >= 9){print "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";}' in運算符 [chengmo@localhost ~]$ awk 'begin{a="b";arr[0]="b";arr[1]="c";print (a in arr);}' [chengmo@localhost ~]$ awk 'begin{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}' 1 in運算符,判斷數組中是否存在該鍵值。

繼續閱讀