• Publicidad

Comodín

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

Comodín

Notapor Kiloko » 2008-06-11 16:52 @744

Una pregunta algo básica, pero tengo mi código

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use POSIX;
#**************************************************
my $AYER = strftime("%Y%m%d", localtime(time - 86400));
#**************************************************
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

En donde $AYER, me da la fecha, pero necesito buscar X archivos y
necesito que $AYER2 = "ejemplo_$AYER.dat" ;
donde (*) son todos los demás números, o letras que le sigan después de ahí.

Se podría hacer un while, definiendo los rangos, de esos espacios, pero no existe algún comodín que me permita hacer esto; ¿cómo se haría normalmente en una terminal?

Saludos
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Publicidad

Notapor explorer » 2008-06-11 17:07 @755

Usa la función glob().

Ejemplo: viewtopic.php?t=2563
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 Kiloko » 2008-06-11 17:37 @775

Aquí una duda, glob() aplica para POSIX porque sale un error...

Código: Seleccionar todo
File::Glob version 20080610* required--this is only version 1.05 at /usr/share/perl/5.8/Exporter/Heavy.pm line 107.
BEGIN failed--compilation aborted at sftp.pl line 6.
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Notapor explorer » 2008-06-11 17:49 @784

Humm... yo he dicho glob(). No he dicho nada de File::Glob.
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 Kiloko » 2008-06-11 18:00 @791

Algo así

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use POSIX;
#**************************************************
my $AYER = strftime("%Y%m%d", localtime(time - 86400));

my $file = glob("ejemplo_$AYER*.pm");
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pero mi duda recae en que esto va a buscar y traer un archivo, por lo que necesito usar

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $remote = "ejemplos/ups/sql/$file";
my $local = "/home/sql/$file";

$sftp->get($remote,$local)or die "No se bajar el archivo";
#$sftp->message."\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Notapor explorer » 2008-06-11 19:01 @834

No, los comodines no te sirven de nada con el protocolo HTTP.

Tienes varias opciones. Una de ellas, si le puedes pedir un listado de ficheros al servidor web, puedes luego ir pidiendo fichero por fichero.
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 Kiloko » 2008-06-26 13:54 @621

Hummmm Sí, ya me di cuenta, opté por hacer un proceso *.sh y comprimir todo con gzip, para después usar el proceso de extracción dirigido solo a ese archivo...

Saludos
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Notapor explorer » 2008-06-26 15:43 @696

Sería interesante ver ese código shell...
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 Kiloko » 2008-06-27 12:27 @561

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
#!/usr/bin/ksh
. $HOME/.profile
export COLECTORHOME=/export/home/thread
export AYER=`perl $COLECTORHOME/bin/ayer2.pl `;
export prefix=pruebas
cd ${COLECTORHOME}/historico/

echo ${AYER}0
gzip ${prefix}${AYER}0*
tar -cvf Tar_PRUEBAS_LAT_${AYER}0.tar  ${prefix}${AYER}0*
rm ${prefix}${AYER}0*

echo ${AYER}1
gzip ${prefix}${AYER}1*
tar -cvf Tar_PRUEBAS_LAT_${AYER}1.tar  ${prefix}${AYER}1*
rm ${prefix}${AYER}1*

echo ${AYER}2
gzip ${prefix}${AYER}2*
tar -cvf Tar_PRUEBAS_LAT_${AYER}2.tar  ${prefix}${AYER}2*
rm ${prefix}${AYER}2*
gzip *.tar
echo Termino
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Y listo, con eso comprimo todo en 3 archivos por comodidad y uso así lo hago en vez de uno solo... y con la función de Perl ayer.pl

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use POSIX;
#**************************************************
my $AYER = strftime("%Y%m%d", localtime(time - 86400));
#**************************************************
print "$AYER";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


establezco la fecha. Y listo... por el momento está funcionado bien...

:D
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Notapor explorer » 2008-06-27 13:23 @599

Desde luego, es factible hacerlo todo en Perl.

Y si solo estás usando Perl para calcular el día de ayer, yo hubiera usado en su lugar el comando date(1) del sistema.
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

Siguiente

Volver a Básico

¿Quién está conectado?

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