Awk 入門筆記

2021-08-18 08:46:41 字數 923 閱讀 3611

在專案中需要寫shell從日誌檔案中獲取訪問記錄,用到了awk資料處理工具。特做一下中結。

awk處理每行資料的時候預設是採用空格或者tab隔開的,將每行資料拆分為每一列。每一列都有預設的標示,

1 2…..其中0標

示一整行

。還有幾

個比較常

用到的內

置變數如

下,在使

用的時候

不需要使

用 符號。

nf 每一行的列數

nr 當前處理的第幾行

定義分隔的時候,需要加begin,不然的話會從第二行開始進行分隔。

測試資料

1   張三  語文  80

2 李四 數學 65

3 王五 英語 70

4 張三 數學 39

5 李四 語文 12

6 王五 語文 13

7 張三 英語 39

8 李四 英語 89

9 王五 數學 11

案例一:輸出test.txt檔案中用空格分隔,第一列數字大於3的行。

cat test.txt | awk 'begin  $1>3 '

4 張三 line:4

5 李四 line:5

6 王五 line:6

7 張三 line:7

8 李四 line:8

9 王五 line:9

案例二:求最後一列的平均數:

cat test.txt | awk 'begin   end '

46.4444

記住要在nf前加$,不然的話標示的該行的列數。

參考:

AWK快速入門

建立乙個檔名為emp.data的檔案,用vim編輯如下內容 beth 4.00 0 dan 3.75 0 kathy 4.00 10 mark 5.00 20 mary 5.50 22 susie 4.25 18 每列分別為名字,時薪,工時。如果想列印每個雇員的名字和他們的薪酬 awk 3 0 em...

awk入門了解

1.什麼是awk awk是一種程式語言,主要用來處理資料和產生報表,它對輸入資料 檔案 標準輸入或命令的輸出 逐行進行掃瞄,匹配指定的模式,並執行指定的操作。2.awk語法格式 awk pattern filename awk掃瞄filename中的每一行,對符合模式pattern的行執行操作act...

awk 入門 awk入門,強大的文字分析工具

awk 入門 awk是用於unix和類unix系統的強大文字解析工具,但是由於它具有可用於執行常見解析任務的程式設計功能,因此它也被視為一種程式語言。您可能不會使用awk開發下乙個gui應用程式,並且它可能不會代替您的預設指令碼語言,但是它對於特定任務而言是強大的實用程式。這些任務可能是令人驚訝的多...