Necesito un pequeño script, leer lineas de un texto y pasarlas a otro [Perl]

Iniciado por Dazereitor, 6 Septiembre 2009, 05:46 AM

0 Miembros y 1 Visitante están viendo este tema.

Dazereitor

Tengo un listado (correos.txt) formato .txt en este formato:
correo1@hotmail.com
cxbo2@gmail.com
asda3@yahoo.cl


necesito filtrar ese listado o sea:

Que lea todas las lineas de ese texto, y que pase a otro archivo .txt pero solo ciertos @correos... onda que me deje solo los @yahoo.cl y los pase a otro archivo.

En Perl porfavor. :) ;D

leogtz

#1
Bueno, "correos.txt" contiene :
correo1@hotmail.com
cxbo2@gmail.com
asda3@yahoo.cl

Y quiero filtrar los correos de yahoo.etc... :
Código (perl) [Seleccionar]
#!/usr/bin/perl
use strict;
use warnings;
open(FILE, q[<], "correos.txt") or die("No se pudo abrir el archivo");
open(SALIDA, q[>], "salida.txt") or die("No se pudo trabajar con el archivo");
while(<FILE>)
{
if($_ =~ /yahoo.*/i)
{
       print;
print SALIDA $_;
}
}
close(FILE);
close(SALIDA);
exit(0);


Nos muestra en pantalla las concidencias, pero también las volca hacia el archivo "salida.txt".

Resumen:
leo@lein:~/Escritorio$ cat "correos.txt"
correo1@hotmail.com
cxbo2@gmail.com
asda3@yahoo.cl
leo@lein:~/Escritorio$ perl pl.pl
asda3@yahoo.cl
leo@lein:~/Escritorio$ cat "salida.txt"
asda3@yahoo.cl
leo@lein:~/Escritorio$
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com