• Publicidad

Mostrar contenido de directorio en web

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

Re: Mostrar contenido de directorio en web

Notapor explorer » 2014-07-29 15:02 @668

Humm... la solución no es tan obvia... hay que hacer una serie de cambios para que eso funcione.

La siguiente línea funciona en mi ordenador:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. perl -E 'my ($dir, $tamano) = @ARGV; system ("find $dir -size +${tamano}c -type f -exec ls -lhgo {} \\; >html.txt");' /home/explorer/Documentos/Desarrollo/images/ 400
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

He tenido que hacer unos cambios...
  • le he añadido las '{}', por que si no, el 'ls' hace un listado de todos los archivos "por cada archivo que encuentre". Y no queremos eso
  • le he duplicado el '\', por que el efecto de las comillas dobles eliminaba el efecto del primer '\'
  • le he añadido la opción '-type f', para quedarnos solo con los archivos, no con los directorios
Así, desde la línea de comandos, me funciona.

Pero... el mensaje que te sale a ti es muy distinto. Da la sensación de que se está ejecutando un comando 'find' distinto del que pretendes. La pista está en que en el mensaje de error aparece 'sh'. Eso da la idea de que 'find', en realidad, podría ser un script shell.

Entonces, para estar seguros, lo que puedes hacer es ejecutar antes un which find para saber qué es lo que se está ejecutando. En mi ordenador me devuelve '/usr/bin/find', que es lo correcto. A continuación, modifico el programa colocando la ruta absoluta a ese ejecutable:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. perl -E 'my ($dir, $tamano) = @ARGV; system ("/usr/bin/find $dir -size +${tamano}c -type f -exec ls -lhgo {} \\; >html.txt");' /home/explorer/Documentos/Desarrollo/images/ 400
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Y todo este rollo porque no quieres programar en Perl... :( He modificado mi programa anterior para añadirle la opción de grabar la salida a html.txt, que es lo que querías. He tardado mucho menos, y además, no dependo de un programa externo, como 'find'.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado