Linux命令之awk學習筆記

2021-06-28 12:33:25 字數 1060 閱讀 3003

一、

awk命令:

root@www ~]# awk '條件型別 1 條件型別 2 ...' filename二、

awk 後面接兩個單引號並加上大括號 {}來設定想要對資料進行的處理動作

在每一行的每個欄位都是有變數名稱的,那就是 $1, $2... 等變數名稱。

$0代表『一整列資料』的意思~如圖:

以上面的例子來說,第一行的 $0 代表的就是『root .... 』那一行啊! 由此可知,剛剛上面五行當中,整個awk 的處理流程是:

1. 讀入第一行,並將第一行的資料填入 $0, $1, $2.... 等變數當中;

2. 依據 "條件型別" 的限制,判斷是否需要進行後面的 "動作";

3. 做完所有的動作與條件型別;

4. 若還有後續的『行』的資料,則重複上面 1~3 的步驟,直到所有的資料都讀完為止。

經過這樣的步驟,你會曉得, awk 是『以行為一次處理的單位』, 而『以字段為最小的處理單位』。

三、好了,那麼 awk 怎麼知道我到底這個資料有幾行?有幾欄呢?這就需要 awk 的內建變數的幫忙啦~

變數名稱  代表意義

nf    每一行 ($0) 擁有的字段總數(numberof field

,當前記錄的

field

個數)nr    目前 awk 所處理的是『第幾行』資料(thenumber of input records)

fs    目前的分隔字元,預設是空格鍵(field separator

,輸入字段分隔符),即要處理的那一行的$1、$2 、$3……的分割字元是什麼。

學習Linux 關於AWK 命令筆記

一.awk簡介 awk是一種處理文字檔案的語言,是乙個強大的文字分析工具。它可以依次處理檔案的每一行,並讀取裡面的每乙個字段。對於日誌這樣的每行格式相同的文字檔案,awk可能是最方便的工具。1.awk語法 基於模式匹配檢查輸入文字,逐行處理並輸出 格式1 前置命令 awk 選項 條件 格式2 awk...

awk命令學習筆記

awk命令基本結構 awk begin pattern end file 選項 f 輸入域分隔符 v 自定義變數 f 呼叫awk指令碼 執行流程 1 執行begin 2 從檔案或stdin中讀取一行,執行pattern 重複這個過程直至讀取完畢 3 執行end nr 記錄數量,也就是已讀的行號 nf...

linux命令 awk學習

我們在面試中經常被問到的linux命令 就都會包括awk命令的使用,下面我向大家總結awk命令的詳細使用。希望能給大家一些幫助。在國內很多大型公司面試後台程式設計師的時候無一例外都會問到下面這個題目 請統計某個apache或者nginx 內的log檔案,並求出裡面ip數的top10 當然,這個問題不...