awk工具

awk是一種編程語言,用於在linux/unix下對文本和數據進行處理。數據可以來自標準輸入(stdin)、一個或多個文件,或其它命令的輸出。它支持用戶自定義函數和動態正則表達式等先進功能,是linux/unix下的一個強大編程工具。它在命令行中使用,但更多是作爲腳本來使用。awk有很多內建的功能,比如數組、函數等,這是它和C語言的相同之處,靈活性是awk最大的優勢。
命令參數:
-F fs fs指定輸入分隔符,fs可以是字符串或正則表達式,如-F:
-v var=value 賦值一個用戶定義變量,將外部變量傳遞給awk
-f scripfile 從腳本文件中讀取awk命令
-m[fr] val 對val值設置內在限制,-mf選項限制分配給val的最大塊數目;-mr選項限制記錄的最大數目。這兩個功能是Bell實驗室版awk的擴展功能,在標準awk中不適用。
模式
模式可以是以下任意一個:
/正則表達式/:使用通配符的擴展集。
關係表達式:使用運算符進行操作,可以是字符串或數字的比較測試。
模式匹配表達式:用運算符~(匹配)和~!(不匹配)。
BEGIN語句塊、pattern語句塊、END語句塊:參見awk的工作原理

1、截取文檔中的某個段
awk工具

注:-F 選項的作用是指定分隔符,如果不加-F指定,則以空格或者tab爲分隔符。 Print爲打印的動作,用來打印出某個字段。$1爲第一個字段,$2爲第二個字段,依次類推,有一個特殊的那就是$0,它表示整行。
2:匹配字符
awk工具
3、條件操作符
awk工具
awk中是可以用邏輯符號判斷的,比如 ‘==’ 就是等於,也可以理解爲 ‘精確匹配’ 另外也有 >, ‘>=, ‘<, ‘<=, ‘!= 等等,值得注意的是,在和數字比較時,若把比較的數字用雙引號引起來後,那麼awk不會認爲是數字,而認爲是字符,不加雙引號則認爲是數字。
4、awk的內置變量
awk常用的變量有:
NF :用分隔符分隔後一共有多少段
NR :行數
NF 是多少段:
awk工具
NR是行號:
awk工具
5、awk中的數學運算
awk可以把段值更改
awk工具

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章