我需要來過濾消息出它具有以下格式的日誌文件的:用於特定時間範圍的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