我想在两个日期之间的日期排序日志文件中搜索一系列行。如果我在命令行,sed
会派上用场:
sed -rn '/03.Nov.2012/,/12.Oct.2013/s/search key/search key/p' my.log
以上将仅显示 2012 年 11 月 3 日和 2013 年 10 月 12 日之间包含字符串“ search key
”的行。
有没有一种轻量级的方法可以做到这一点python
?
我可以为上述构建单个 RE,但这将是噩梦。
我能想到的最好的是:
#!/usr/bin/python
start_date = "03/Nov/2012"
end_date = "12/Oct/2013"
start = False
try:
with open("my.log",'r') as log:
for line in log:
if start:
if end_date in line:
break
else:
if start_date in line:
start = True
else:
continue
if search_key in line:
print line
except IOError, e:
print '<p>Log file not found.'
但这让我觉得不是'pythonic'。
可以假设将在日志文件中找到搜索日期限制。