我有一些旋转文件,旋转是因为我有5个文件,它保存了一整天的日志。如果第一个文件已满,则日志保存在第二个文件中;如果第二个文件已满,则日志保存在第三个文件中;如果最后一个文件已满,则删除第一个文件的内容并将日志保存在第一个文件中。
例如,一个文件是:
$cat log1
2013-06-09 08:00 Error1 08x000001 user2
2013-06-09 08:00 Error1 08x000001 user3
2013-06-09 08:01 Error2 08x000002 user4
2013-06-09 08:02 Error3 08x000003 user5
.
.
.
2013-06-09 12:22 Error9 08x900009 user5
2013-06-09 12:22 Error8 08x011011 user1
问题是我需要阅读日志,并在一段时间内完成一个grep。
例如,我需要08:00到11:00之间的2013-06-09日志。
即,线路小时:08:00,08:01,08:02,08:03,…,11:00,日期2013-06-09
有了grep,我可以查看日期,但我不知道如何提取一个小时范围内的行。
最佳答案
针对您的具体问题,在24小时内:
grep '^2013-06-09 \(08*\|09*\|10*\|11:00\)'
应该可以。
关于linux - 对bash中的日期范围进行一组文件的grep,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17557377/