Войти

Показать полную графическую версию : Выборка из текстового файла по шаблону


DSU
22-12-2018, 14:08
Помогите в автоматизации выборки.
Есть текстовый лог (на 800мб) с записями такого вида:

[28/Nov/2018 10:34:30] Recv: Queue-ID: 5bfe5316-0000437d, Service: SMTP, From: <t.kaluga@mail.com.ua>, To: <a.nanana@mail2.com.ua>, Size: 17991, Sender-Host: 220.15.174.19, User: t.kaluga@mail.com.ua, SSL: yes, Subject: Re: Тема; ТД ТОВ, Msg-Id: <41AB9C9A-59B1-4CD2-A833-B2D41F58182F@mail.com.ua>
[28/Nov/2018 10:34:30] Sent: Queue-ID: 5bfe5316-0000437d, Recipient: <a.malina@mail.com.ua>, Result: delivered, Status: 2.1.5 , Remote-Host: 127.0.0.1, Msg-Id: <41AB9C9A-59B1-4CD2-A833-B2D41F58182F@mail.com.ua>
[28/Nov/2018 10:40:53] Recv: Queue-ID: 5bfe5493-0000437e, Service: SMTP, From: <k.lopata@gmail.com>, To: <o.tuchka@mail.com.ua>, Size: 1918722, Sender-Host: 154.38.117.35, SSL: yes, Subject: Письмо, Msg-Id: <D8EF8B03-AF53-4FD0-A919-93A3223CD0FC@gmail.com>


Нужно найти все позиции, где отправитель t.kaluga@mail.com.ua (для примера) и составить список всех уникальных адресатов, кому он высылал письма (a.nanana@mail2.com.ua в данном случае).
Ключевые слова для поиска, получается, можно использовать "SMTP, From: <t.kaluga@mail.com.ua>", а список составить из адресов, которые идут после "To: "
Одинаковые, понятное дело, не указывать.
Спасибо!

Iska
22-12-2018, 14:39
DSU, для пробы нужен кусок этого файла с сохранением оригинальной кодировки и оригинальных концов строк. Упакуйте его в архив, каковой приложите к сообщению.

Kazun
22-12-2018, 14:46
PowerShell:

sls f.txt -Pattern "From: <t.kaluga@mail.com.ua>, To: <(.+)>," | Foreach {$_.Matches.Groups[1].Value} | Sort -Un

Busla
22-12-2018, 15:12
Ключевые слова для поиска, получается, можно использовать "SMTP, From: <t.kaluga@mail.com.ua>", а список составить из адресов, которые идут после "To: " »
Kerio отбрасывает имя, или надежда на то, что оно не указано в почтовом клиенте?
Я бы не ориентировался только на To:, есть же ещё cc, bcc

To: <(.+)>, »
А если получателей у письма несколько?

DSU
22-12-2018, 15:32
Ух-ты как все элегантно просто, когда знаешь.
Аж не верится, что настолько. Заклинание, магия :)
Kazun, спасибо за частичку знаний и помощь!
Подставил нужные значения, все получилось.
Iska, спасибо за готовность помочь.
Это так же ценно. Это основа )

Хммм. Да. А если получателей несколько...

DSU
22-12-2018, 15:53
Все нормально. У Керио на каждого адресата - отдельная запись заносится.




© OSzone.net 2001-2012