使用 shell 脚本获取特定时间戳之间的日志以及日期

使用 shell 脚本获取特定时间戳之间的日志以及日期

我想使用 shell 脚本从特定时间范围的日志中提取信息。日志中的一行如下所示:

[15:01:27:176][15-10-2015]: testing1-vidya-Thu Oct 15 11:49:27 IST 2015 [15:02:27:178][15-10-2015]: testing2-vidya-Thu Oct 15 11:49:27 IST 2015 [15:10:27:179][15-10-2015]: testing3-vidya-Thu Oct 15 11:49:27 IST 2015 [15:01:27:180][16-10-2015]: testing4-vidya-Thu Oct 15 11:49:27 IST 2015 [15:20:27:181][16-10-2015]: testing5-vidya-Thu Oct 15 11:49:27 IST 2015 [15:02:27:182][16-10-2015]: testing6-vidya-Thu Oct 15 11:49:27 IST 2015 [15:03:27:183][17-10-2015]: testing7-vidya-Thu Oct 15 11:49:27 IST 2015 [15:04:27:184][17-10-2015]: testing8-vidya-Thu Oct 15 11:49:27 IST 2015 [15:05:27:191][17-10-2015]: testing9-vidya-Thu Oct 15 11:49:27 IST 2015 [15:18:27:192][17-10-2015]: testing10-vidya-Thu Oct 15 11:49:27 IST 2015 [15:29:27:193][17-10-2015]: testing11-vidya-Thu Oct 15 11:49:27 IST 2015 [15:03:27:208][18-10-2015]: testing12-vidya-Thu Oct 15 11:49:27 IST 2015 [15:04:27:209][18-10-2015]: testing13-vidya-Thu Oct 15 11:49:27 IST 2015 [15:07:27:210][18-10-2015]: testing14-vidya-Thu Oct 15 11:49:27 IST 2015

我需要以特定的时间间隔提取数据。例如 [2015 年 10 月 17 日] 15:01 至 15:08 之间

[15:03:27:183][2015年10月17日]:测试7-vidya-10月15日星期四11:49:27 IST 2015 [15:04:27:184][2015年10月17日]:测试8- vidya-Thu 10 月 15 日 11:49:27 IST 2015 [15:05:27:191][17-10-2015]:testing9-vidya-Thu 10 月 15 日 11:49:27 IST 2015

我使用了这段代码:

grep -E "^[(15:0[1-8])" | grep '[17-10' filename 

我试过这个。我正在获取 2015 年 10 月 17 日的所有数据,包括 15:18 和 15:29。我只需要 15:01 到 15:08 之间的数据。这是否正确,有什么问题吗?

答案1

这对我有用:

grep "\[17-10" filename | grep  "15:0[1-8]"

相关内容