Linux中awk命令的使用

2021-10-07 03:26:40 字數 837 閱讀 5817

awk 引數 '' filename
引數

含義-f

分割字串

要執行的操作裡面可以使用if, for, 正規表示式

awk內建變數

變數含義

nr當前行號

nf當前行分隔出了多少列

awk -f ','

'' debug.log

-f 『,』 表示每一行用逗號分隔

『』 表示列印出每行的第一列

awk -f ','

'' debug.log

%s 表示字串佔位符

\n 表示換行(如果沒有\n的話printf不會自動換行,只有print才會自動換行)

假設有這樣乙個日誌檔案

2020-06-11 08:00:00.00 [thread-1] user: 

2020-06-11 08:00:02.00 [thread-1] user:

需要取每一行的日期時間,執行緒號,name和***屬性的值,也就是:

2020-06-11 08:00:00.00 [thread-1] zhangsan 1

2020-06-11 08:00:02.00 [thread-1] lisi 0

思路

使用nf得到分隔出了多少列,再用for迴圈遍歷各個列,用if+正規表示式判斷是不是要取的列

awk -f ':'

'printf("\n")}'

linux中使用awk命令

awk的取名是貝爾實驗室的alfred.aho和peter.weinberger和brain.kernigham三個人的名字取首字母組成的。awk命令能從乙個或多個文字檔案或字串中逐個記錄或逐行掃瞄 將每個記錄與匹配模式相比較 當發現匹配格式時抽取資料或格式化報文,或執行相應的文字操作。awk命令格...

awk命令的使用

awk程式語言 資料處理引擎 創造者 aho weinberger kernighan 基於模式匹配檢查輸入 逐行讀入逐行輸出 將期望的匹配結果print到螢幕 語法格式 awk 模式 檔案1 檔案2 常用的內建變數 nr 當前處理行的序數 行號 fs 字段分隔,預設為空格或tab位 n 當前行的第...

awk命令使用

awk是linux下很有用的列編輯工具。示例如下 檔案tran map.txt內容如下 tr zhuanzhang sa unknown 1.組織字串。將第一列以字串形式列印出來 awk tran map.txt tr sa 2.形成格式化 將第一列值轉換為第二列值 採用檔案指令碼方式。指令碼檔案為...