Linux 日志按时间、按行截取方式
Linux 日志按时间、按行截取方式
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操作。