• Publicidad

Imprimir penúltima línea de un texto

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

Imprimir penúltima línea de un texto

Notapor animal collective » 2010-11-16 15:58 @707

Estimados, tengo el siguiente problema:

Deseo imprimir la penúltima línea de un archivo de texto. Ejemplo:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Hola
como
estas
muy
bien
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Yo necesito imprimir "muy".

Estoy trabajando sobre SO Debian.

Favor, estimados, su apoyo en este tema.

Muchas gracias.
animal collective
Perlero nuevo
Perlero nuevo
 
Mensajes: 39
Registrado: 2010-10-17 17:53 @786
Ubicación: Chile

Publicidad

Re: Imprimir penúltima línea de un texto

Notapor explorer » 2010-11-16 16:35 @732

Bueno, hay muchas formas de hacerlo. Aquí hay una de ellas:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use Tie::File;
  2.  
  3. tie my @lineas, 'Tie::File', 'kk.txt' or die "ERROR: $!\n";
  4.  
  5. print $lineas[-2], "\n";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Una vez que hemos "enlazado" el fichero con un @array, podemos acceder a las líneas como elementos del array. Y en un array, si el último elemento es el -1, pues el penúltimo es el -2.
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: Imprimir penúltima línea de un texto

Notapor animal collective » 2010-11-16 16:53 @745

Estimado,

La opción del array no es aplicable para mi caso, ya que el archivo que tengo que procesar es un log, y necesito el penúltimo valor.

¿¿Es posible realizar esto con expresiones regulares??
animal collective
Perlero nuevo
Perlero nuevo
 
Mensajes: 39
Registrado: 2010-10-17 17:53 @786
Ubicación: Chile

Re: Imprimir penúltima línea de un texto

Notapor explorer » 2010-11-16 17:11 @758

Si el fichero lo tienes que tratar no de forma continuada (no a medida que crece, sino solo en determinados momentos), entonces sí que te vale. Haz la prueba y nos lo cuentas.

Y sí, podrías usar expresiones regulares, pero también tendrías que leer todo el fichero para localizar la penúltima línea.

En cambio, si debes vigilar el fichero log mientras crece, puedes usar File::Tail.
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: Imprimir penúltima línea de un texto

Notapor animal collective » 2010-11-19 09:51 @452

Máster, hice las pruebas y funcionó perfecto.

Muchas gracias.
animal collective
Perlero nuevo
Perlero nuevo
 
Mensajes: 39
Registrado: 2010-10-17 17:53 @786
Ubicación: Chile


Volver a Básico

¿Quién está conectado?

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