在專案中需要寫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應用程式,並且它可能不會代替您的預設指令碼語言,但是它對於特定任務而言是強大的實用程式。這些任務可能是令人驚訝的多...