Назад | Перейти на главную страницу

найти уникальных отправителей из огромного списка писем

Я только что нашел огромный список писем под своей учетной записью в Centos / home / user / mail / new

Я открыл некоторые из них и заметил, что они были отправлены с определенного задания cron. Адрес отправителя root@hostname.com. Мне нужно узнать, все ли эти письма были отправлены root@hostname.com - Это около 30 ГБ электронной почты. Есть ли способ найти список уникальных адресов отправителя? Формат письма примерно такой:

Обратный путь:

Конверт в: user@hostname.com

Дата доставки: чт, 11 августа 2011, 04:34:02 -0400

Получено: от пользователя hostname.com с локальным (Exim 4.69)

(конверт-из)

id 1QrQiI-0004qM-6V

для user@hostname.com; Чт, 11 августа 2011 г. 04:34:02 -0400

От: root@hostname.com (Cron Daemon)

Кому: user@hostname.com

Тема: Cron /opt/gsn/reports/pr.sh

Content-Type: текст / простой; charset = UTF-8

Авто-отправлено: создано автоматически

Идентификатор сообщения:

Дата: 11 августа 2011 г., 04:34:02 -0400

[СОДЕРЖАНИЕ СООБЩЕНИЯ]

$ grep -E '^From:' /some/file | uniq

Чтобы получить общее количество писем, запустите:

grep От: / home / user / mail / new | wc -l

чтобы получить количество писем от root, запустите это

grep ^ Из / home / user / mail / new | grep root \ @ hostname.com | wc -l

сейчас (Всего писем) - (писем от root) = фактическое количество писем от общего количества писем.

Попробуй это:

awk '/^From: / { print $2 }' /home/user/mail/new | sort | uniq -c | sort -rn

Это не один файл, каждое электронное письмо имеет размер около 20 КБ, а общее количество писем составляет 30 ГБ.

awk '/^From: / { print $2 }' /home/user/mail/* | sort | uniq -c | sort -rn