Большое человеческое спасибо за ответ но в моих логах CommuniGate Pro версии 4.2 "Submit from" отсутствует , может формат логов другой или уровень логирования стоит такой?
Nazarkin Andrew пишет:
> Ну вот я тут на левой коленке налабал скоренько (сорри за кривость и раздутость скрипта, очень времени мало):
> 
> #!/bin/bash
> grep "Submit from: su@mrglife.ru" /var/CommuniGate/SystemLogs/2009-05-19.log | awk '{print $3}' | cut --complement -b '12-24' > /tmp/submit
> rm -f /tmp/submit1
> while read string ; do
> grep $string /var/CommuniGate/SystemLogs/2009-05-19.log | grep "Submit to: " | awk '{print $1,$6}'>> /tmp/submit1
> done < /tmp/submit
> Результатом данного скрипта является:
> 
> cat /tmp/submit1
> 09:50:14.169 nanovsky@mrggroup.ru
> 10:52:39.630 phone@mrglife.ru
> 10:58:30.641 pushin@mrggroup.ru
> 11:24:47.234 pushin@mrggroup.ru
> 11:25:18.164 vidanov@mrgarant.ru
> 11:25:18.204 kozlov@mrglife.ru
> 11:26:23.314 su@mrggroup.ru
> 11:42:42.157 nanovsky@mrggroup.ru
> 11:55:55.655 kostikova@mrggroup.ru
> 12:50:20.085 nanovsky@mrggroup.ru
> 12:56:53.724 nanovsky@mrggroup.ru
> 
> Т.е. все, кому я отправлял письма за 19 мая 09 года.
> В принципе видите повторяющиеся поля, если я этому человеку отправлял не один раз. Можно дописать скрипт и отсечь совпадения, если не нужны подробности "во сколько отправлял".
> 
> Небольшой разбор скрипта:
> 
> grep "Submit from: su@mrglife.ru" /var/CommuniGate/SystemLogs/2009-05-19.log - вычленяем все записи данного отправителя за 19 число. Получаются записи вида: " 09:50:14.129 4 IMAP-019365([10.10.5.1]) Submit from: su@mrglife.ru"
> 
> awk '{print $3}' - нас интересует только третий столбец (у меня IMAP, у себя можете поправить, если не так). Получаются записи вида IMAP-019365([10.10.5.1]).
> cut --complement -b '12-24' - убираем лишние символы ([10.10.5.1]) - получаются записи вида IMAP-019365. Вот тут надо осторожно посчитать, какие именно символы убирать (у меня с 12 по 24), дабы не стереть лишнего :)
> 
> вывод перенаправляем в файл /tmp/submit
> 
> rm -f /tmp/submit1 - стираем на всякий случай, если есть /tmp/submit1
> 
> while read string ; do - считываем построчно записи из файла /tmp/submit1...
> 
> grep $string /var/CommuniGate/SystemLogs/2009-05-19.log и отсеиваем по совпадению лог-файл...
> 
> grep "Submit to: " - отсеиваем дополнительно только поля, куда отправлял
> 
> awk '{print $1,$6}' - нас интересуют только первый столбец (время отправки) и шестой - куда отправлял.
> 
> Собственно, все.
> 
> 
> 
> Назаркин Андрей Николаевич
> Mezhregiongarant.
> MRG LIFE
> CIO
> 
> 
Получено Wed May 20 06:03:13 2009
Этот архив был сгенерирован hypermail 2.1.8 : Wed 20 May 2009 - 12:15:56 MSD