Я только что нашел огромный список писем под своей учетной записью в 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