我需要来过滤消息出它具有以下格式的日志文件的:用于特定时间范围的grep日志文件
2013-03-22T11:43:21.817078+01:00 INFO log msg 1...
...
2013-03-22T11:44:32.817114+01:00 WARNING log msg 2...
...
2013-03-22T11:45:45.817777+01:00 INFO log msg 3...
...
2013-03-22T11:46:59.547325+01:00 INFO log msg 4...
...
(其中...
意味着“更多的消息”)
滤波必须做根据时间表。 这是bash脚本的一部分,此时在代码中,时间范围存储为$start_time
和$end_time
。例如:
start_time = "2013-03-22T11:45:20"
end_time = "2013-03-22T11:45:50"
注意的$start_time
或$end_time may
的确切值可能永远不会出现在日志文件;但在[$start_time, $end_time]
时间范围内将有几条消息这是我正在寻找的。
现在,我几乎相信我需要一个Python脚本来完成过滤,但我宁愿使用grep(或awk,或任何其他工具),因为它应该运行得更快(日志文件是大)。
有什么建议吗?
如果你的'start_time'是shell变量,当你给它赋值的时候,在'='之前和之后移除这些空格。 ('end_time'相同) – Kent 2013-03-26 13:18:22