The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
error de análisis XML en perl bishweshwar UNIX para usuarios avanzados y expertos 1 05-30-2007 10:59 PM
HTML analizar por PERL avik1983 Programación de scripts de shell y 3 02-23-2007 09:25 AM
Analizar y obtener los valores de las variables Rekha Programación de scripts de shell y 3 08-01-2006 10:39 AM
PERL - Parsing Crystal Reports srinivay Programación de scripts de shell y 0 05-12-2005 07:55 AM
Conversión de analizar el script bash de perl? cstovall Programación de scripts de shell y 2 10-13-2004 10:33 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 07-16-2008
Figaro figaro is offline
Usuario Registrado
  
 

Fecha: enero 2007
Puestos: 267
Perl: analizar las variables

Tengo el siguiente script:
Código:
#!/usr/bin/perl -w

@files = <*.csv>;
foreach $file (@files) {
  open(FH, $file);
  my @dt = split(/_|.csv/, $file);
  while (<FH>) { 
    chomp;
    print $dt[1] . $dt[2] . ",$_\n";
  }
  close(FH);
}
Este script lee en todos los archivos del csv en el directorio actual e imprime la fecha, la hora y el contenido a pantalla completa.

Un nombre de archivo está compuesto por un nombre, una fecha, un tiempo y un sufijo ". Csv". Por lo tanto, podría ser un nombre de archivo foo_20080909_120345.csv
Al ejecutar este, el conjunto posee @ dt:
- $ Dt [0] \u003d "foo"
- $ Dt [1] \u003d 20080909
- $ Dt [2] \u003d 120345

Por lo tanto, la línea 9 (print $ dt [1]. $ Dt [2]. ", $ _ \ N") los rendimientos de las siguientes líneas:
"20080909 120345 ,[... resto del registro ...]"
donde se deben producir:
"2008-09-09 12:03:45 ,[... resto del registro ...]"

¿Cómo puedo entrar en los guiones y ("-") colones (":") en los lugares sin utilizar código contribuido, tales como:
substr ($ dt [1], 0, 4). "-". substr ($ dt [1], 4, 2). "-". substr ($ dt [1], 6, 2)
y que es sólo para la fecha.

Gracias de antemano
  #2 (Enlace permanente)  
Old 07-16-2008
Diabolist Diabolist is offline
Usuario Registrado
  
 

Fecha: marzo 2002
Puestos: 44
Aquí están mis archivos:

Código:
bar_20081009_113023.csv
foo_20080909_120345.csv
munge_20061231_010020.csv
He aquí la secuencia de comandos:
Código:
#!/usr/bin/perl -w

@files = <*.csv>;
foreach $file (@files) {
  open(FH, $file);
  my @dt = ($file =~ /^(\w+)_(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2})\.csv$/);
  while (<FH>) {
    chomp;
    print "$dt[1]-$dt[2]-$dt[3] $dt[4]:$dt[5]:$dt[6],$_\n";
  }
  close(FH);
}
Esta es la salida:
Código:
# ./test.pl
2008-10-09 11:30:23,bar1
2008-10-09 11:30:23,bar2
2008-09-09 12:03:45,foo1
2008-09-09 12:03:45,foo2
2006-12-31 01:00:20,munge1
2006-12-31 01:00:20,munge2
Estoy seguro que se puede limpiar un poco. No soy muy bueno con perl
  #3 (Enlace permanente)  
Old 07-16-2008
Figaro figaro is offline
Usuario Registrado
  
 

Fecha: enero 2007
Puestos: 267
Que trabaja excelente, gracias.
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 02:06 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0