Con este sencillo script podemos extraer todos los emails de cualquier fichero (en formato texto plano) cómodamente. En el array $ficheros_emails ponemos los nombres de los ficheros que contienen los emails que queremos extraer y $fichero_destino es el fichero donde los vamos a escribir.
El resultado se muestra en la pantalla (se muestran numerados los emails que se extraen de cada fichero) y se guarda en el fichero.
$ficheros_emails = array('/home/gorka/Escritorio/email1.txt', '/home/gorka/Escritorio/emails2.txt'); $fichero_destino = '/home/gorka/listado_emails.txt'; $fd = fopen($fichero_destino, "w"); $cuenta = 1; foreach($ficheros_emails as $fichero_emails) { $contenido_fichero = file_get_contents($fichero_emails); preg_match_all("([A-Za-z0-9_.-]+@[A-Za-z0-9_.-]+.[A-Za-z0-9_-]+)", $contenido_fichero, $resultado); echo " Emails del fichero: $fichero_emails "; foreach ($resultado[0] as $email) { echo " $cuenta.- $email"; fwrite($fd, $email . "\n"); $cuenta++; } } fclose($fd);