Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/10/2005, 10:30
Avatar de -Defero-
-Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Ahora soy yo quien pregunta acerca de las expresiones regulares.

Veréis, al cabo de la semana recibo varios e-mails en cadena, de esos que arrastran las direcciones de correo de todas las personas que los han recibido, y me he planteado el reto de extraer de mis mensajes todas las direcciones de correo electrónico de manera automática. Necesito realizar tres pasos:

- Filtrar las direcciones de correo electrónico y volcarlas a un archivo.
- Ordenar alfabéticamente las direcciones de correo
- Eliminar las repetidas

Y más o menos he encontrado el modo de realizar los tres pasos:

cat archivodeorigen | grep -o [A-Za-z0-9_\-\.]*@[A-Za-z0-9]*\.[A-Za-z0-9]* > listadirecciones

sort < listadirecciones > listaordenada

uniq listaordenada > listasinrepetidos

Y esto me da la friolera de más de 2300 direcciones de correo electrónico distintas extraídas de 79 mensajes que tengo en una de mis carpetas de Evolution.

La cuestión es que revisando la lista me encuentro con un montón de supuestas direcciones de correo que en realidad no lo son. Por ejemplo:

2dd88ed4@arantzaa>
3Djlaguado@groupe-bel
3Djorge.toirac@movi-net
7f253453@part7

Además en algunas direcciones se ha seleccionado como parte de la misma un punto y coma (;), cosa que creo que no debería haber hecho. En el criterio que he utilizado no debería tener cabida el punto y coma, ya que he restringido los caracteres a letras de la A a la Z (en mayúsculas o minúsculas), cifras del 0 al 9, puntos (.), guiones (-), y guiones bajos (_). Además en el dominio de la dirección de correo (lo que viene después de la arroba) debería aparecer por fuerza un punto (.), y en caso contrario descartarse la cadena de texto, pero algunas de las supuestas direcciones de correo no contienen un punto después de la arroba.

Alguien sabría explicarme el motivo? He estado leyendo sobre expresiones regulares, pero no termino de encontrar el fallo. Muchas gracias
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable

Última edición por -Defero-; 22/10/2005 a las 10:36