Я только что нашел огромный список адресов электронной почты в моей учетной записи пользователя в Centos /home/user/mail/new
Я открыл некоторые из них и заметил, что они были отправлены из определенного задания cron. Адрес From — [email protected]
. Мне нужно выяснить, были ли все эти письма отправлены [email protected]
- Это около 30 ГБ электронной почты. Есть ли способ получить список уникальных адресов From? Формат письма примерно такой:
Обратный путь:
Конверт-кому:[email protected]
Дата доставки: Чт, 11 Авг 2011 04:34:02 -0400
Получено: от пользователя по hostname.com с локальной (Exim 4.69)
(конверт-от)
идентификатор 1QrQiI-0004qM-6V
для[email protected]; Чт, 11 авг 2011 04:34:02 -0400
От:[email protected](Крон Демон)
Тема: Cron /opt/gsn/reports/pr.sh
Тип содержимого: текст/обычный; кодировка=UTF-8
Автоматически отправлено: автоматически сгенерировано
Идентификатор сообщения:
Дата: Чт, 11 авг 2011 04:34:02 -0400
[СОДЕРЖАНИЕ СООБЩЕНИЯ]
решение1
$ grep -E '^From:' /some/file | uniq
решение2
Чтобы получить общее количество писем, выполните:
grep Из: /home/user/mail/new | wc -l
чтобы получить количество писем от root, запустите это
grep ^Из /home/user/mail/new | grep root\@hostname.com | wc -l
сейчас (Всего писем) - (письма от root) = фактическое количество писем из общего числа писем.
решение3
Попробуй это:
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