awk 運算子(算術運算子,賦值運算子,關係運算子,邏輯運算子,正則運算子)說明

來源:互聯網
上載者:User

轉載:http://www.cnblogs.com/chengmo/archive/2010/10/11/1847515.html

 

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

 

一、運算子介紹

運算子 描述
賦值運算子
= += -= *= /= %= ^= **= 指派陳述式
邏輯運算子
|| 邏輯或
&& 邏輯與
正則運算子
~ ~! 匹配Regex和不匹配Regex
關係運算子
< <= > >= != == 關係運算子
算術運算子
+ - 加,減
* / & 乘,除與求餘
+ - ! 一元加,減和邏輯非
^ *** 求冪
++ -- 增加或減少,作為首碼或尾碼
其它運算子
$ 欄位引用
空格 字串串連符
?: 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";}}' 
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

 

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運算子,判斷數組中是否存在該索引值。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.