• Publicidad

Obtener el nombre del último archivo creado en un directorio

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

Obtener el nombre del último archivo creado en un directorio

Notapor oscar82 » 2012-06-12 08:27 @394

En un directorio al que accedo por ftp, tengo cientos de archivos, pero sólo me interesan los archivos que empiezan por GetFtp, y en concreto, el último archivo creado.

Ejemplo.

GetFtp.20120608050100.tar.gz
GetFtp.20120610050100.tar.gz
GetFtp.20120612050100.tar.gz

Sólo me interesaría el último que ha sido creado en el mismo día.

¿Cómo podría obtener el nombre del fichero para luego poder hacer un get() y descargarlo?

año /2012 mes/ 06 día/12 hora /050100

Disculpad si no me he expresado bien, pero son mis primeros acercamientos a Perl.
oscar82
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2012-06-12 08:06 @379

Publicidad

Re: Obtener el nombre del último archivo creado en un direct

Notapor explorer » 2012-06-12 09:04 @419

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

Bueno, la solución parece sencilla: si todos los archivos siguen la misma nomenclatura, bastará con sacar un listado del directorio, quedarnos con los archivos que cumplan ese patrón, y sacara de ellos solo el que ocupa la primera (o última posición) de esa lista después de haber sido ordenada alfabéticamente.

Con el comando dir() del módulo Net::FTP (o afín) obtendrás un listado de archivos. Luego con una expresión regular puedes sacar los archivos que te interesen (si todos siguen el mismo patrón, este paso te lo puedes saltar). Luego pasas la lista por sort(), y te quedas con el primero (o el último, en caso de ordenarlos al revés).

Aquí tienes los primeros pasos.
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: Obtener el nombre del último archivo creado en un direct

Notapor oscar82 » 2012-06-13 06:31 @313

Gracias por la respuesta.
oscar82
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2012-06-12 08:06 @379


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 41 invitados