Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Parseador de fechas

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Lun Jun 23, 2008 2:32 am
jmdelcampo
Perlero Nuevo
Perlero Nuevo
Registrado: 24 Nov 2006
Mensajes: 21
Parseador de fechas Responder citando

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
Mensaje Lun Jun 23, 2008 2:45 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4092
Ubicación: Valladolid, España
Responder citando

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

bash:
perl -le '$x="Una frase cualquiera escrita el 02/06/2008 10:42:37"; $x =~ s{(..)/(..)/(....) (..:..:..)}{$3$2$1$4}g; print $x'


Con este cambio, las 10 horas deberían quedar reducidas a menos de 20 segundos (salvo que estés trabajando en Windows, claro).
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group