Python代码,用于计算任何给定时间范围之间的行数



使用

sed -ne '/13:40:47/,/13:41:48/p' ABCD.log | wc -l

现在就在终端上获取结果。

示例日志格式:

10.0.0.0 - - [29/Apr/2020:00:00:54 -0400]
10.0.0.0 - - [29/Apr/2020:00:00:59 -0400]
10.0.0.0 - - [29/Apr/2020:00:01:03 -0400]
10.0.0.0 - - [29/Apr/2020:00:01:05 -0400]
10.0.0.0 - - [29/Apr/2020:00:01:09 -0400]
10.0.0.0 - - [29/Apr/2020:00:01:11 -0400]
10.0.0.0 - - [29/Apr/2020:00:01:18 -0400]
10.0.0.0 - - [29/Apr/2020:00:01:24 -0400]
10.0.0.0 - - [29/Apr/2020:00:01:33 -0400]

如果在10.0.0.0 - - [29/Apr/2020:00:01:05 -0400]10.0.0.0 - - [29/Apr/2020:00:01:24 -0400]之间搜索,我希望得到如下输出。

10.0.0.0 - - [29/Apr/2020:00:01:09 -0400]
10.0.0.0 - - [29/Apr/2020:00:01:11 -0400]
10.0.0.0 - - [29/Apr/2020:00:01:18 -0400]

只需读取文件的行,并返回两行匹配的行(开始和结束(。请参阅文件I/O和循环。

此逻辑不起作用:

start_time = input("Enter start time: ")
end_time = input("Enter end time: ")
def between(l1,start_time,end_time):
l2 = []
for i in l1:
if(i > start_time and i < end_time):
l2.append(i)
return l2

最新更新