Extraer direcciones de correo

Escrito por Sandor el 05 de febrero de 2009.
Categorías • Sincorbata
Etiquetas • linux • marketing • e-mail

Un pequeño apunte que dejo por aquí, por si a alguien le es de utilidad. Resulta que yo también soy humano, tengo mis debilidades, y he acabado participando en Facebook :) Para los que no conozcais la página, ésta tiene una opción en la que tú le subes una lista de direcciones de correo electrónico de tus amigos, y la comprueba contra su base de usuarios (muy útil para averiguar si alguno de tus amigos está también en Facebook).

Como no suelo tener la agenda de contactos del Thunderbird muy al día (más bien nada), lo que he hecho ha sido buscar alguna manera de extraer de mi carpeta de correos las direcciones de email. No ha podido ser más fácil. Consiste en ejecutar estos dos sencillos comandos en cada carpeta que contenga correo:

grep "^To: " * > emails.txt
cat emails.txt | sed 's,.* <*\([^ ]*@[^ >]*\).*,\1,' > emails-formateados.txt

Seguro que hay mil formas más completas o elegantes de hacerlo, pero esta es rápida y funciona. En sistemas Unix y derivados la cosa es fácil, ya que las utilidades vienen ya en el propio sistema operativo. Para otros sistemas como el de la ventana :), habría que instalar algún port de ellas.

Actualización: Para ordenar por email y eliminar correos duplicados, se podría ejecutar para finalizar, también hacer lo siguiente:

sort emails-formateados.txt | uniq -u > emails-sin-duplicados.txt

¡Participa y escribe tu comentario! ;-)