Обработка лога
Предыдущий пример регулярного выражения позволит выделить из лога записи с определенной меткой и подать их в сокращенном виде:
import re
log_re = re.compile(r"""(?P<date>[A–Za–z]{3}s+d+s+dd:dd:dd) S+
kernel:
PAY: .+ DST=(?P<dst>S+).* LEN=(?P<len>d+).* DPT=(?P<dpt>d+) """)
for line in open("message.log"):
m = log_re.match(line)
if m:
print "%(date)s %(dst)s:%(dpt)s size=%(len)s" % m.groupdict()
В результате получается
Nov 27 15:57:59 192.168.1.115:1039 size=1500
Nov 27 15:57:59 192.168.1.200:8080 size=40
Nov 27 15:57:59 192.168.1.115:1039 size=515
Nov 27 15:57:59 192.168.1.200:8080 size=40
Nov 27 15:57:59 192.168.1.115:1039 size=40
Nov 27 15:57:59 192.168.1.200:8080 size=40
Nov 27 15:57:59 192.168.1.115:1039 size=40
Больше книг — больше знаний!
Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУ