Linux 日志按时间、按行截取方式

Linux 日志按时间、按行截取方式

代码脚本之家 2023-10-08 12:53 发表于上海

1.截取catalina.out某段时间内的日志信息:

sed -n '/2023-09-23 14:00:/,/2023-09-23 15:00:/p' catalina.out > seg.log

2. 按行截取日志

先按照关键字找到相应的行数,然后再根据行数截取。

获取开始所在行:grep-n "2023-09-21 15:00"  catalina.out  

得到开始所在行:15523

获取结束所在行:grep  -n "2023-09-21 16:30"  catalina.out

得到结束所在行:16786

截取日志的15523~16786行之间的日志,并输出导新文件:

sed -n '15523,16786p'  > mylog.log

3. 第三种方式,使用grep

grep '2023-09-26 14:[0-2][0-5]:' catalina.out > my.log 

上述命令将把14:00~14:25之间的日志全部搜索出来,并保存到my.log文件

grep  -E '2020-07-21 11:5[8-9]:[0-5][0-9]|2020-07-21 12:0[0-5]:[0-5]0' out.log

grep -E 选项可以用来扩展选项为正则表达式。如果使用了grep 命令的选项-E,则应该使用 | 来分割多个pattern,以此实现OR操作。 

 
posted @ 2023-10-12 14:45  往事已成昨天  阅读(3115)  评论(0编辑  收藏  举报