分析日志文件
課前基礎: awk基本使用
awk ' BEGIN{ print "start" } {commands} END{ print "end" }'
先執行BEIGN語句,然後重復的執行commands行,直到文件全部讀取完畢,讀取文件末尾時,執行END語句塊。
這個語句可以沒有BEGIN、END但是必須有{commands}
1、awk特殊變量:
NR:記錄數量,在執行過程中對應於當前行號
NF:表示字段數目,執行過程中對應於當前行的字段數
$0:執行行中的文本內容
$1:包含第一個字段的文本內容
$2:包含第二個字段的文本內容
2、將外部變量傳遞給awk:
借助於-v參數
3、對awk的行進行過濾
awk 'NR <5' 行號小於5;awk 'NR==1,NR==4' 行號在1到5之間的行
4、awk自建的內置函數
split、length、substr等等
5、設置字段定界符
默認的是空格,我們可以使用-F '分隔符'
demo演示:
表示的是先文本先按變量$1過濾,然後文本行按照空格分隔,此文本被分成21段,然後將第21段的字符按照字符':'分隔,得到 的數組只要第2的值(注意該數組標量是從1開始),然後統計得到的值重復的次數。