Linux日志分析神器之awk

一、背景:

公司的虎哥交给我一个任务让我写一个一次性脚本刷线上的数据。刷数据嘛,刷的过程中日志的记录避不可少,将一些有用的信息写入到日志,更是可以帮助我们定位问题。但是如何定义日志格式和如何分析日志就是我们要关注的了。

二、学习

1、日志格式:

#traceId:0 host:staging-web30.yn.com from:0 uri:cli clientIp: asyncTime:{asyncTime}这种形式

也就是每个字段之间使用空格进行分隔,好处是可以使用awk快速的分析日志,当然了,你也可以使用其他的分隔符,只不过空格和tab是awk的默认分隔符。

2、如何awk从入门到实用

a、总的使用语法:awk [模式] [动作] 文件名

举个栗子test.txt

员工   薪资 小时数

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 {print $1,$2,$3}'  test.txt

其中$3==0就是模式,他表示第三列值为0的,{print $1,$2,$3}就是动作,他的作用跟print本身一样就是单纯的打印

在 awk 中仅仅只有两种数据类型: 数值 和 字符构成的字符串

在awk中NF表示每行的字段数量,NR表示行号

你可能感兴趣的:(Linux日志分析神器之awk)