awk是一種優良的文字處理工具。它不僅是 linux 中也是任何環境中現有的功能最強大的資料處理引擎之一。這種程式設計及資料操作語言(其名稱得自于它的創始人 alfred aho 、peter weinberger 和 brian kernighan 姓氏的首個字母)的最大功能取決於乙個人所擁有的知識。awk 提供了極其強大的功能:可以進行樣式裝入、流控制、數**算符、程序控制語句甚至於內建的變數和函式。它具備了乙個完整的語言所應具有的幾乎所有精美特性。實際上 awk 的確擁有自己的語言:awk 程式語言, 三位建立者已將它正式定義為「樣式掃瞄和處理語言」。它允許您建立簡短的程式,這些程式讀取輸入檔案、為資料排序、處理資料、對輸入執行計算以及生成報表,還有無數其他的功能。
awk(報告生成器),grep(文字過濾器),sed(流編輯器)
本篇部落格將詳細講述一些我們常用的awk指令:
首先,我們將/etc/passwd複製到/mnt,做臨時實驗:
awk -f : '' passwd ###指定分隔符為: ,輸出第一列
awk -f : 'begin' passwd ###指定分隔符為:,在輸出前加上hello,輸出第二列【hello在第一行】
awk -f : 'begin' passwd ###指定分隔符為:,在輸出的第二列每一行後面都輸出n的值1
awk -f : 'begin' passwd ###n的值每一行會加1
awk -f : 'begin' passwd ###相當於序號
awk -f : 'beginend' passwd ###指定分隔符為:,在第一列每一行開頭加上n的值,n每行+1,在最後一行輸出over
awk -f : 'beginend' passwd ###指定分隔符為:,在第一列每一行開頭加上n的值,n每行+1,最後一行輸出有多少行
awk -f : 'beginend' passwd ###指定分隔符為:,在第一列每一行開頭加上n的值,n每行+1,最後一行輸出有多少列
awk '/bash/' passwd ###輸出包含bash的內容
awk -f : '/bash/' passwd ###輸出包含bash的第一列
awk -f : 'nr==3' passwd ###輸出第三行第一列
awk -f : 'nr>=4&&nr<=6' passwd ###輸出4-6行
awk -f : 'nr==4||nr==6' passwd ###輸出第四行和第六行
awk 'begin' ###得到a的值46
awk '/^[^a-d]/' passwd ###輸出除了以a-d開頭的
awk '/^r|bash$/' passwd ###輸出以r開頭,或許以bash結尾的
awk '/^r/&&/bash$/' passwd ###並且
awk -f : '$6~/bin$/' passwd ###以:為分隔符,輸出第六列以bin結尾的
測試:輸出passwd中家目錄不在/home下的使用者
並統計個數:
awk -f : 'begin=$6!~/^\/home/&&$7~/bash$/end' /etc/passwd
測試:寫乙個指令碼抓取br0的ip:awk部分的內容就暫時這麼多,日常使用的指令如上。
大大的小小陽
Linux常用指令(更新中)
sz home admin hxx89793 ts web ts web ts web ts ticket check 2.從本地上傳檔案到伺服器 rz e filename 為避免上傳的時候顯示亂碼,需要加命令 e sudo rz be 檔案較大如百兆以上,可以重新進入一下系統,百分百成功 2.c...
linux 常用awk命令
linux awk命令詳解awk是乙個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。awk有3個不同版本 awk nawk和gawk,未作特別說明...
LINUX 的常用指令
一,安裝和登陸命令 1.login 用來登陸系統,它的使用許可權是超級使用者。2.shutdown 用來關閉計算機,它的使用許可權是超級使用者。3.reboot 用來重新啟動計算機,它的使用許可權是系統管理者。4.install 是用來安裝或公升級軟體或備份資料。5.mount 是用來載入檔案系統,...