我试图在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
小时日志
请帮帮我......
答案 0 :(得分: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
答案 1 :(得分:0)
之前添加一个空格,然后在grep部分添加一个“:”。
例如,grep 04:
应该是日期命令的输出