Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Extraer información de un archivo de texto

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Vie Oct 31, 2008 6:25 am
asegurac
Perlero Nuevo
Perlero Nuevo
Registrado: 31 Oct 2008
Mensajes: 1
Extraer información de un archivo de texto Responder citando

Hola,

Soy nuevo en perl, estoy haciendo un script que lee la información a partir de un archivo de texto de la siguiente estructura:
Código:
 1 2 r w 3 t 4 r 4b v 5
a  b c  b  d  f  g  g  g
a  b c  b  d  f  g  g  g
a  b c  b  d  f  g  g  g
a  b c  b  d  f  g  g  g
 s 2 r w 3 t 4 r 4b v 5


Por ejemplo me interesa extraer la información contenida en la columna 1 y 6:

Ya tengo el siguiente código:

Perl:
#!/usr/bin/perl -w

$filename = $ARGV[0];
open(FILE, $filename) || die "¡Error!\n\n";
open SALIDA, ">salida1";
while(my $lines = <FILE>){
chomp($lines);
my @field = split (/\s+/, $lines);
print SALIDA "columns: $field[1]\n";
}
close FILE;


El resultado es la columna 1, incluyendo el número "1" de la primera fila y la letra "s" de la última, ¿Qué puedo hacer para extraer solo la información contenida entre la primera y última fila?

Gracias
Mensaje Vie Oct 31, 2008 6:46 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4239
Ubicación: Valladolid, España
Responder citando

Bienvenido a los foros de Perl en Español, asegurac.

No entiendo muy bien la cuestión. Primero hablas de columnas 1 y 6 y luego hablas de la información que hay entre la primera fila y la última.

Si solo quieres imprimir las líneas que empiezan por 'a', es muy fácil:

Perl:
#!/usr/bin/perl
while(<DATA>) {
    print if /^a/;
}

__DATA__
 1 2 r w 3 t 4 r 4b v 5
a  b c  b  d  f  g  g  g
a  b c  b  d  f  g  g  g
a  b c  b  d  f  g  g  g
a  b c  b  d  f  g  g  g
 s 2 r w 3 t 4 r 4b v 5
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group