• Publicidad

Comprobar fichero no vacío

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

Comprobar fichero no vacío

Notapor jmdelcampo » 2008-10-28 09:24 @433

Hola a todos,

Tengo un proceso que se conecta mediante ssh a una máquina para leer los ficheros que residen en la misma.

Necesito comprobar que están todos los fichero y que no están vacíos.
¿Cómo puedo hacerlo?

Saludos y gracias
jmdelcampo
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-11-24 07:43 @363

Publicidad

Notapor explorer » 2008-10-28 09:38 @443

Con el módulo Net::SFTP puedes pedir un listado del directorio (con el método ls()) y así ver el tamaño y fecha de los ficheros.

La distribución viene acompañada de un cliente interactivo, llamado psftp, del que puedes copiar su código (más bien, transformar el modo de guardar la información que se obtiene desde ls()).
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

Notapor jmdelcampo » 2008-10-29 11:05 @503

Gracias, explorer.
jmdelcampo
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-11-24 07:43 @363

Notapor jmdelcampo » 2008-11-05 07:18 @346

Hola de nuevo,

No he podido emplear el módulo que me propusisteis y lo debo hacer mediante system().

Defino $comando='ssh host ls directorio'; y ejecuto system("$comando");.

Si defino una variable para que almacene el resultado de la sentencia no consigo que almacene el resultado.

He probado
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $salida;
$salida=system("$comando");
system("$comando > $salida");
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


¿Como podría hacerlo?

Saludos y gracias
jmdelcampo
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-11-24 07:43 @363

Notapor explorer » 2008-11-05 07:44 @364

system() devuelve el estado del resultado de la ejecución, no la salida.

Si quieres capturar la salida, debes usar qx():
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $salida = qx($comando);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
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


Volver a Básico

¿Quién está conectado?

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

cron