过滤日志时间段的小技巧

 

经常会有这样的需求:我要获取日志中20:00:00到23:59:59时间段的日志内容。

今天总结下比较方便的三种方法(欢迎大家补充):

1. grep

egrep “2[0-3]\:[00-59]” /var/log/messages
或者
grep -E “2[0-3]\:[00-59]” /var/log/messages

2. sed

(开始时间和结束时间必须在日志中出现,把20:00:00替换成日志中的开始时间,把23:59:59替换成日志中的结束时间)

sed -n ‘/20:00:00/,/23:59:59/p’ /var/log/messages

3.awk

awk ‘$3>”20:00:00”&&$3<”24:00:00”{print }’ /var/log/messages