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 @   hongdada  阅读(210)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2019-04-21 【转载】TCP /IP协议详解
2018-04-21 CentOS7.2 问题收集 查看文件大小 查看端口
2018-04-21 Docker 配置阿里云镜像加速器
点击右上角即可分享
微信分享提示