• Publicidad

Parseador de fechas

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

Parseador de fechas

Notapor jmdelcampo » 2008-06-23 03:32 @189

Buenos días.

De un fichero obtengo mediante una expresión regular la fecha con el siguiente formato: DD/MM/YYYY HH:MM:SS y la necesito en el formato YYYYMMDDHHMMSS.

Para parsearlo empleo la siguiente expresión: UnixDate($1,"%Y%m%d%H%M%S").

El fichero del cual leo las fechas es muy grande: ~ 3 millones de líneas por lo que el tiempo que emplea es aprox. 10 horas y eso es demasiado tiempo.

¿Existe algún módulo de Perl que realice este parseado de manera más ágil?

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

Publicidad

Notapor explorer » 2008-06-23 03:45 @198

No hace falta ningún módulo Perl. Con una expresión regular sencilla te vale:

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
perl -le '$x="Una frase cualquiera escrita el 02/06/2008 10:42:37"; $x =~ s{(..)/(..)/(....) (..:..:..)}{$3$2$1$4}g; print $x'
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Con este cambio, las 10 horas deberían quedar reducidas a menos de 20 segundos (salvo que estés trabajando en Windows, claro).
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 1 invitado