У меня есть файл журнала электронной почты, который записывает, когда электронное письмо вышло, и кому. Это регистрируется в журнале и, таким образом, существует смесь сжатых и разархивированных файлов журнала, возвращающихся примерно через неделю.
Я в настоящее время (успешно) возвращаю все строки, соответствующие определенному письму с
sudo find /var/log/exim4/ -type f -exec zgrep -i "foobar@gmail.com" "{}" \\; | sort
это возвращает мне все электронные письма, отправленные на foobar@gmail.com
. Все идет нормально.
Что я хотел бы сделать сейчас, так это получать все электронные письма, отправленные через определенное время, независимо от получателя. Это должно быть просто (я думаю), потому что все строки файла журнала начинаются с метки времени - они имеют такой формат:
2015-04-20 18:01:05 H=(fake.org) [180.108.175.57] F=<fake@fake.org> rejected RCPT <webmaster@charanga.com>: relay not permitted
2015-04-20 18:01:05 H=(fake.org) [180.108.175.57] F=<fake@fake.org> rejected RCPT <webmaster@charanga.com>: relay not permitted
2015-04-20 18:06:33 H=(bar.net) [111.176.77.1] F=<foo@bar.net> rejected RCPT <service@charanga.com>: relay not permitted
Итак, допустим, я хочу, чтобы все письма отправлялись после «2015-04-20 18:03:00». Это просто случай получения всех строк, которые «больше, чем» моя метка времени. Как мне изменить мою команду для этого? спасибо Макс