![]() |
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| 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 |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
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);
}
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 |
|
||||
|
Aquí están mis archivos:
Código:
bar_20081009_113023.csv foo_20080909_120345.csv munge_20061231_010020.csv 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);
}
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 ![]() |
|
||||
|
Que trabaja excelente, gracias.
|
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|