grep 大于指定日期的行_grep/awk/sed查指定时间段日志

本文介绍了如何使用grep, awk, sed命令从大型日志文件中筛选指定时间段的数据。例如,grep可用于查找包含特定日期时间的行,awk可以根据日期和时间字段进行比较,而sed则能基于行范围进行筛选。示例包括查询2020-07-09 10:10到10:15的日志,并提供了将查询结果保存到新文件的方法。" 128172337,15150308,Java养老院老人管理系统源码设计,"['Java开发', '数据库设计', 'Web应用', '管理系统', '毕业设计']
摘要由CSDN通过智能技术生成

grep/awk/sed查指定时间段日志

情景重现:管理后台down了,项目的日志为4G多的一个文件,查询上午某段时间内的日志

示例的日志格式:2020-07-09 10:15:46.635 [...-thread-3] ERROR com....

①grep

命令:grep '时间' '日志文件名'

1、示例:如查询2020-07-09 10:10到2020-07-09 10:15区间的日志

grep "2020-07-09 10:1[0-5]" catalina.out

2、示例:如查询当天10点到11点的日志

grep "2020-07-09 1[0-1]" catalina.out

注:亲测有效

5a410819e097ebd22b828fa6a1ea9c1a.png

图1

②awk命令

1、示例:如查询今天10:10:10 到10:15:59区间的日志,注意时间要用引号

awk '$2>"10:10:10" && $2

注意参数$1和$2的取值,我这里$1是指年月日,$2是指时分秒。

扩展:$0表示行所有信息,$1、$2、$3...$n分别表示第1列、第2列、第3列...第n列(以空格为默认分隔符将每行切片)。awk命令经常会使用这些符号去做匹配、打印指定指定列等操作

日志格式为:2020/07/09-05:02:37 >> INFO >>

则:awk '$1>"2020/07/09-05:01:38" && $1

注:亲测有效

00e39467843eba344a1849c9523603af.png

图2

③sed命令

1、示例:如查询2020-07-09 10:10到2020-07-09 10:15区间的日志

sed -n '/2020-07-09 10:10:00/,/2020-07-09 10:15:00/p' catalina.out

注:由于我项目日志格式:2020/07/09-11:50:59 ERROR https-jsse-nio-8080-exec-2 对于该命令没有适用

查询结果生成日志文件:linux中>表示覆盖原文件内容(文件的日期也会自动更新),>>表示追加内容(会另起一行,文件的日期也会自动更新)。

可以将查询截取的日志生成一个新的日志文件来方便查询,实例:grep "2020-07-09 1[0-1] " catalina.out >> queryTemporaryLog20200709.log

希望对你有帮助,祝你有一个好心情,加油!

若有错误、不全、可优化的点,欢迎纠正与补充!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值