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

示例日志格式: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

注:亲测有效

②awk命令
1、例如查询今天10:10:10 到10:15:59区间的日志,注意时间要用引号
awk '$2>"10:10:10" && $2<"10:15:59"' catalina.out
注意参数$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<"2020/07/09-05:02:38"' catalina.out

注:亲测有效

③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)