2013-07-16 35 views
0

我想1小時從日誌文件1小時

之前到grep日誌這樣之前提取日誌: -

grep "$(date --date='1 hour ago +%H') /var/log/oss.log | grep "MTS" > oss.new.log 

但在日誌中其"04"搜索和我的輸出這樣的

frwY01jtaX 00:04:46,739 ERROR SiteDetectionUtil:47 MTS 
OlvYM6czmz 00:04:54,348 ERROR SiteDetectionUtil:47 MTS 
5iUr2l1LNv 01:04:40,764 ERROR SiteDetectionUtil:47 MTS 
EZ35Xum6eG 02:04:10,328 ERROR SiteDetectionUtil:47 MTS 
pCxbg584le 02:04:21,236 ERROR SiteDetectionUtil:47 MTS 
K3rPlPgIpb 03:04:50,529 ERROR SiteDetectionUtil:47 MTS 
rRz4IW94mB 03:04:55,728 ERROR SiteDetectionUtil:47 MTS 
Ir91iBSCUc 04:00:05,571 ERROR SiteDetectionUtil:47 MTS 
jp00Sfavl5 04:00:15,489 ERROR SiteDetectionUtil:47 MTS 
Ks5w1eP90F 04:00:40,794 ERROR SiteDetectionUtil:47 MTS 

其每小時匹配04

我只需要下面的輸出

Ir91iBSCUc 04:00:05,571 ERROR SiteDetectionUtil:47 MTS 
jp00Sfavl5 04:00:15,489 ERROR SiteDetectionUtil:47 MTS 
Ks5w1eP90F 04:00:40,794 ERROR SiteDetectionUtil:47 MTS 
jkljkfhknk 04:00:41,768 ERROR SiteDetectionUtil:47 MTS 

只有04小時日誌

請幫我...

回答

1

你可以試試這個,

grep " $(date --date='1 hour ago' '+%H').*MTS" /var/log/oss.log > oss.new.log 

或者

grep "\s$(date --date='1 hour ago' '+%H').*MTS" /var/log/oss.log > oss.new.log 
+0

它的工作感謝@Sat – Akki

0

在grep部分之前加一個空格,並在「:」之後加一個空格。 eg grep 04:應該是你的日期命令的輸出