文字分析awk

2021-09-29 20:39:52 字數 1267 閱讀 5188

awk

awk是乙個強大的文字分析工具。

相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。

簡單來說awk就是把檔案逐行的讀入,(空格,製表符)為預設分隔符將每行切片,切開的部分再進行各種分析處理。

awk -f 『』

支援自定義分隔符

支援正規表示式匹配

支援自定義變數,陣列 a[1] a[tom] map(key)

支援內建變數

argc 命令列引數個數

ar** 命令列引數排列

environ 支援佇列中系統環境變數的使用

filename awk瀏覽的檔名

fnr 瀏覽檔案的記錄數

fs 設定輸入域分隔符,等價於命令列 -f選項

nf 瀏覽記錄的域的個數

nr 已讀的記錄數

ofs 輸出域分隔符

ors 輸出記錄分隔符

rs 控制記錄分隔符

支援函式

print、split、substr、sub、gsub

支援流程控制語句,類c語言

if、while、do/while、for、break、continue

只是顯示/etc/passwd的賬戶:cut

awk -f』:』 『』 passwd

只是顯示/etc/passwd的賬戶和賬戶對應的shell,而賬戶與shell之間以逗號分割,而且在所有行開始前新增列名name,shell,在最後一行新增"blue,/bin/nosh"(cut,sed)

awk -f』:』 『begin end』 passwd

搜尋/etc/passwd有root關鍵字的所有行

awk 『/root/ 』 passwd

統計/etc/passwd檔案中,每行的行號,每行的列數,對應的完整行內容

統計報表:合計每人1月工資,0:manager,1:worker

tom 0 2012-12-11 car 3000

john 1 2013-01-13 bike 1000

vivi 1 2013-01-18 car 2800

tom 0 2013-01-20 car 2500

john 1 2013-01-28 bike 3500

awk 『} end}』 awk.txt

awk '

}end

}』 awk.txt

awk 『else}} end}』 awk.txt

awk 『

}end

}』awk.bb

awk文字分析工具

awk命令,可以通過鍵入指令碼名稱來呼叫 首行為 bin awk 這樣就可以編寫awk的指令碼 f 網域名稱分隔符,預設為空格 常用 awk f print 1 file name 0 是一整行 1 位域分隔符的後的第乙個域,以此類推 簡單的呼叫方式 注意 1變數不要被引號包裹 begin 表示在未...

awk文字分析工具

usage awk option program file awk option f progfile file optin f fs 指定輸入分隔符,fs可是字串或者正規表示式 v var value 賦值給var,將外部變數傳給awk f script 從外部指令碼讀取awk命令 awk beg...

liunx之awk文字分析工具

支援自定義分隔符 支援正規表示式 支援自定義變數,陣列 a 1 a tom map key 支援內建變數 argc 命令列引數介紹 ar 命令列引數排列 environ 支援佇列中系統環境變數的使用 filename awk瀏覽的檔名 fnr 瀏覽檔案的記錄數 fs 設定輸入域分隔符,等價於命令列 ...