我有一些旋转文件,旋转是因为我有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/

10-16 10:23