Partiendo de un fichero con este formato:
Fecha;dato1;dato2;dato3;
ej:
- Código: Seleccionar todo
20080804;1;2;23;
20080804;1;2;45;
20080804;1;2;41;
20080804;1;2;23;
20080804;1;3;54;
Necesito que para el conjunto dato1 y dato2 (sin repetirse) me saque cuántos elementos (datos3) cuelgan de ellos.
Para ello hago lo siguiente
Using perl Syntax Highlighting
my $comando = "gzcat fichero.gz |"
parse_file($comando);
foreach my $VAR1 (keys %{$REPORT})
{
print ESCRITURA $VAR1."\n";
}
sub parse_file{
my $file = shift;
open(FH,$file) || die "Cannot open file: $!";
while(<FH>)
{
if (m/\;([^\;]+\;[^;]+)/) {
$REPORT->{$1}++;
}
}
close(FH);
}
parse_file($comando);
foreach my $VAR1 (keys %{$REPORT})
{
print ESCRITURA $VAR1."\n";
}
sub parse_file{
my $file = shift;
open(FH,$file) || die "Cannot open file: $!";
while(<FH>)
{
if (m/\;([^\;]+\;[^;]+)/) {
$REPORT->{$1}++;
}
}
close(FH);
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Ejemplo del fichero que me sacaría:
- Código: Seleccionar todo
1;2
1;3
Con esto me sacaría el conjunto datos1;datos2 sin repetirse... pero ¿cómo hago para que me saque ahora cuántos datos3 cuelgan de cada uno de los conjuntos?
Y lo que necesitaría sacar en el supuesto anterior sería lo siguiente:
1;2;3 número de elementos sin repetirse que cuelgan del conjunto 1;2
1;3;1 número de elementos sin repetirse que cuelgan del conjunto 1;3
Muchas gracias por vuestra ayuda.