linux基礎--awk文本分析工具詳解

簡介

awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤爲強大。簡單來說awk就是把文件逐行的讀入,以空格爲默認分隔符將每行切片,切開的部分再進行各種分析處理。

awk有3個不同版本: awk、nawk和gawk,未作特別說明,一般指gawk,gawk 是 AWK 的 GNU 版本。

awk其名稱得自於它的創始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首個字母。實際上 AWK 的確擁有自己的語言: AWK 程序設計語言 , 三位創建者已將它正式定義爲“樣式掃描和處理語言”。它允許您創建簡短的程序,這些程序讀取輸入文件、爲數據排序、處理數據、對輸入執行計算以及生成報表,還有無數其他的功能。


使用方法

awk '{pattern + action}' {filenames}


儘管操作可能會很複雜,但語法總是這樣,其中 pattern 表示 AWK 在數據中查找的內容,而 action 是在找到匹配內容時所執行的一系列命令。花括號({})不需要在程序中始終出現,但它們用於根據特定的模式對一系列指令進行分組。 pattern就是要表示的正則表達式,用斜槓括起來。


示例

#輸出df第一個字段
[root@localhost ~]# df -Ph |awk '{print $1}'
#輸出df第一個和第三個字段
[root@localhost ~]# df -Ph |awk '{print $1,$3}'
#輸出df最後一個字段
[root@localhost ~]# df -Ph |awk '{print $NF}'
#輸出/var/log/messages中以:分割的最後一個字段
[root@localhost ~]# awk -F ':' '{print $NF}' /var/log/messages


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