大于时间戳的 Grep 日志文件 [英] Grep log file greater than time stamp

查看:31
本文介绍了大于时间戳的 Grep 日志文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 unix 日志文件(application.log),它在开始时有带有时间戳的日志.我需要在此日志文件中搜索大于时间 2014-03-20 14:05:54 的模式发送".

I have a unix log file(application.log), that has logs with timestamp at the starting. I need to search for a pattern "sent" in this log file greater than time 2014-03-20 14:05:54.

2014-03-20 14:05:54,038 [NfxAgent....
2014-03-20 14:05:54,164 [NfxAgent....
2014-03-20 14:05:54,298 [NfxAgent....
2014-03-20 14:05:54,414 [NfxAgent....
2014-03-20 14:05:54,787 [NfxAgent....

推荐答案

我向测试数据中添加了另外 2 条记录以确保这确实有效:

I added 2 more records to the test data to ensure this is really working:

2014-03-19 14:05:53,999 [NfxAgent....
2014-03-20 14:05:53,164 [NfxAgent....

但我认为您不能为此使用 grep.这是一个 awk 解决方案:

But I don't think you can use grep for this. Here is an awk solution:

$ grep sent  grepTest_20140321.txt|  awk '$0 > "2014-03-20 14:05:54"' 
2014-03-20 14:05:54,038 [NfxAgent....
2014-03-20 14:05:54,164 [NfxAgent....
2014-03-20 14:05:54,298 [NfxAgent....
2014-03-20 14:05:54,414 [NfxAgent....
2014-03-20 14:05:54,787 [NfxAgent....

编辑

如果我们需要以与 2014-03-21 10:04:14,018 相同的格式指定结束时间怎么办?"

"What if we need to specify the end time in the same format like 2014-03-21 10:04:14,018?"

我添加了 3 行测试数据来确认第二种情况:

And I've added 3 lines of test data to confirm the 2nd case:

2014-03-21 10:04:14,017 [NfxAgent....
2014-03-21 10:04:14,018 [NfxAgent....
2014-03-22 10:04:14,999 [NfxAgent....

结果显示您指定范围内的一条新记录.

Result shows one new record in the range you've specified.

 awk '$0 ~ "sent" && $0 > "2014-03-20 14:05:54" && $0 < "2014-03-21 10:04:14,018"'    grepTest_20140321.txt
2014-03-20 14:05:54,038 [NfxAgent....
2014-03-20 14:05:54,164 [NfxAgent....
2014-03-20 14:05:54,298 [NfxAgent....
2014-03-20 14:05:54,414 [NfxAgent....
2014-03-20 14:05:54,787 [NfxAgent....
2014-03-21 10:04:14,017 [NfxAgent....

IHTH

这篇关于大于时间戳的 Grep 日志文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆