以bash格式表示最近24小时的grep时间戳

时间:2013-02-12 06:13:05

标签: linux bash grep design-patterns

我有一个日志文件,其中包含以下格式的数据

[1360643407] SERVICE NOTIFICATION: qreda;demo-jms2;OutConnectorResponse-SPONSORED-SMS;CRITICAL;notify-service-by-email;CRITICAL ConsumerCount=0

[1360643487] SERVICE NOTIFICATION: qreda;demo-jms2;OutConnectorResponse-OPT-IN-OUT;CRITICAL;notify-service-by-email;CRITICAL ConsumerCount=0

我想grep此文件以显示过去24小时的日志。这里的日期显示为时间戳。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您可以使用awk

awk 'BEGIN {now=systime()} {then=strtonum(gensub(/\[|\]/,"","g",$1)); if(now-86400<=then) print}'