Acabo de encontrar una lista enorme de correos electrónicos en mi cuenta de usuario en Centos /home/user/mail/new
Abrí algunos de ellos y noté que fueron enviados desde un trabajo cron particular. De la dirección es [email protected]
. Necesito saber si todos estos correos electrónicos fueron enviados por [email protected]
: son aproximadamente 30 GB de correo electrónico. ¿Hay alguna manera de obtener una lista única de direcciones De? El formato del correo electrónico es algo como esto:
Vía de retorno:
Sobre a:[correo electrónico protegido]
Fecha de entrega: jueves, 11 de agosto de 2011 04:34:02 -0400
Recibido: del usuario por hostname.com con local (Exim 4.69)
(sobre-de)
identificación 1QrQiI-0004qM-6V
para[correo electrónico protegido]; Jueves 11 de agosto de 2011 04:34:02 -0400
De:[correo electrónico protegido](Demonio Cron)
A:[correo electrónico protegido]
Asunto: Cron /opt/gsn/reports/pr.sh
Tipo de contenido: texto/sin formato; juego de caracteres = UTF-8
Envío automático: generado automáticamente
ID de mensaje:
Fecha: jueves 11 de agosto de 2011 04:34:02 -0400
[CONTENIDO DEL MENSAJE]
Respuesta1
$ grep -E '^From:' /some/file | uniq
Respuesta2
Para obtener el número total de correos electrónicos, ejecute:
grep Desde: /home/usuario/correo/nuevo | baño -l
para obtener el recuento de correos electrónicos desde la raíz, ejecute esto
grep ^Desde /home/usuario/correo/nuevo | grep root\@hostname.com | baño -l
ahora (total de correos electrónicos) - (correos electrónicos desde la raíz) = número real de correos electrónicos del total de correos electrónicos.
Respuesta3
Prueba esto:
awk '/^From: / { print $2 }' /home/user/mail/new | sort | uniq -c | sort -rn
No es un solo archivo, cada correo electrónico tiene aproximadamente 20K y el total de correos electrónicos asciende a 30G.
awk '/^From: / { print $2 }' /home/user/mail/* | sort | uniq -c | sort -rn