Linux 截取一段时间内的日志文件

参考:https://www.cnblogs.com/alexyuyu/p/6376200.html

          https://segmentfault.com/q/1010000000139744


截取一段时间内的log日志可以使用sed命令对log文件进行抽取操作:

1,sed查看某时间段到现在的系统日志:
sed  -n  '/May 20 17/,$p'   /var/log/messages  |  less

2,sed 截选时间段日志:
假如日志的格式是--

“2015-05-04 09:25:55,606 后面跟日志内容 ”这样的
目标是需要将05-04的09:25:55 和09:28:08 之间的日志截取出来:
使用sed命令如下:
sed -n ‘/2015-05-04 09:25:55/,/2015-05-04 09:28:55/p’  logfile
这样可以精确地截取出来某个时间段的日志。

如果需要截取的日志太大,达到几个G的话,不能去vi打开文件:
根据之前的日志格式,使用正则表达式:
sed -n ‘/2010-11-17 09:[0-9][0-9]:[0-9][0-9]/,/2010-11-17 16:[0-9][0-9]:[0-9][0-9]/p’  logfile
如果没有问题的话,上面就能筛选出指定的时间段的日志。
截取一段时间内日志到某个文件(part.log 必须存在):
sed -n '/^2012-02-09/,/^2012-09-10/p' whole.log > part.log

你可能感兴趣的:(Java)