Linux查看文本日志

grep

grep "getPenaltyCalDto" info.log

i-忽略大小写、n-显示行号 r-递归 C-显示该列前后内容

grep -in "getPenaltyCalDto" info.log

这样可以查找出行号,再到vim中根据行号来查找内容

cat info.log | grep 'getPenaltyCalDto'

查找,并显示定位内容的上下各两行,如果查中,就显示5行

grep "REQUEST ARGS" info.log -in -2

单向下就 -A2 ,单线上就 -B2

时间段:

grep "2020-06-01 [0-5][0-9]:0[1-9]" info.log
grep "2020-06-01 15:[01-59]" info.log

vim

进入vim中查找

/text --查找text, 按n查找下一个, N查找上一个

?text --查找text(反向查找), 按n查找下一个, N查找上一个

查看行号

:set number

跳转到对应的行号

:186

sed

img

sed -n '199,202p' info.log

读取 199,202行数据

sed -n '/2019-11-17 16:17:20/,/2019-12-17 16:17:36/p' test.log

查找指定日期范围内的日志

awk

日志:

2020-06-01 10:05:02,937 [http-nio-8080-exec-10] INFO  c.shitou.huishi.aop.ControllerAspect.aroundAdvice(ControllerAspect.java:55) - HTTP_METHOD : POST
2020-06-01 10:05:02,937 [http-nio-8080-exec-10] INFO  c.shitou.huishi.aop.ControllerAspect.aroundAdvice(ControllerAspect.java:56) - IP : 10.244.3.0
2020-06-01 10:05:02,938 [http-nio-8080-exec-10] INFO  c.shitou.huishi.aop.ControllerAspect.aroundAdvice(ControllerAspect.java:57) - CLASS_METHOD : com.shitou.huishi.service.PlanGenServiceImpl.getPlanList

筛选:根据空格来作分隔符

awk -F'[ ]' '$2 > "10:05:01" && $2 < "10:05:59"' info.log

or:

awk -F '[ ]' ' $2 > "10:05:01" && $2 < "10:05:59" {print $0}' info.log

or 根据左中挂号来分隔符

awk -F '[' '$1>"2020-06-01 10:05:01"&&$1<"2020-06-01 14:56:59" {print $0}' info.log
posted @ 2020-04-21 18:26  hongdada  阅读(207)  评论(0编辑  收藏  举报