• Publicidad

Extraer una línea desde un archivo de texto en el disco duro

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Extraer una línea desde un archivo de texto en el disco duro

Notapor jorG33 » 2010-09-06 16:43 @738

Estimados, soy principiante en Perl y deseo hacer lo siguiente:
Tengo un archivo de texto en el disco duro y quiero sacar líneas limitadas entre 2 caracteres, así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
fa0/1
line1
line2
line3
!
fa0/2
line1
line2
line3
!
fa0/3
line1
line2
line3
!
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Digamos que deseo obtener las líneas entre fa0/2 y !.

Intenté hacerlo, pero hasta ahora no me sale... Saludos.
jorG33
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2010-08-10 16:52 @744

Publicidad

Re: Extraer una línea desde un archivo de texto en el disco duro

Notapor explorer » 2010-09-06 17:05 @753

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

Puedes usar un operador rango para saber si la línea leída está dentro de las líneas que nos interesan.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. open my $fh, 'kk.txt';
  4.  
  5. while (my $linea = <$fh>) {
  6.  
  7.     if ($linea =~ /^fa0\/2/ .. $linea =~ /!/) {
  8.         print $linea;
  9.     }
  10. }
  11.  
  12. close $fh;
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

que puede quedar resumido en
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. open my $fh, 'kk.txt';
  4.  
  5. while (<$fh>) {
  6.     if (/^fa0\/2/ .. /!/) {
  7.         print;
  8.     }
  9. }
  10.  
  11. close $fh;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Si solo quieres las líneas entre las marcas, pero sin las marcas, las puedes obviar colocando la línea next if $linea =~ /^fa0\/2|!/; justo antes de imprimirla (o de lo que queramos hacer con ella).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Extraer una línea desde un archivo de texto en el disco duro

Notapor jorG33 » 2010-09-07 10:27 @477

Excelente... era lo que buscaba.
Gracias por tu tiempo... :D :D :D
jorG33
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2010-08-10 16:52 @744


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 38 invitados