awk工具

awk是一種編程語言,用於在linux/unix下對文本和數據進行處理。數據能夠來自標準輸入(stdin)、一個或多個文件,或其它命令的輸出。它支持用戶自定義函數和動態正則表達式等先進功能,是linux/unix下的一個強大編程工具。它在命令行中使用,但更可能是做爲腳原本使用。awk有不少內建的功能,好比數組、函數等,這是它和C語言的相同之處,靈活性是awk最大的優點。linux

awk應用

awk打印指定內容

awk ‘{print $n}’ [filename] 在此n表明數字(當n=0時$0表明文件全部內容,當n=1,2,3...時$1,2,3...表明相應列)正則表達式

awk -F 指定分隔符(默認以空格爲分隔符)

說明: 指定分隔符後該命令只識別指定的分隔符,若是某行無指定的分隔符則會打印其整行!編程

awk的匹配功能(匹配用「~」)

針對數學表達式的用法

數值比較

說明: 當「1000」加引號時會被當作是字符串,以ASC碼(二進制)的方式進行計算處理,不加引號的時候會被當作是數值處理。數組

說明: 當使用一個「=」等號時表示爲等號前面字符賦值,使用兩個「==」表示邏輯關係(進行判斷)。編程語言

字符比較大小

說明: 「&&」表示而且。函數

說明: 「||」表示或者。工具

OFS指定打印時的分隔符

先寫OFS指定後printspa

NR (=number row)表示行號

注: 相似於grep -n。命令行

NF (=number fragment)表示段數(列)

求和

tot=tot+$3===第三段總和=n(第3段)+n+1(第3段)unix

相關文章
相關標籤/搜索