>[оверквотинг удален]
>На выходе нужно иметь:
>
>STRING-001 33,75 6,75 23,75
>STRING-003 3 2 6
>STRING-004 2,4 1,8 4,8
>
>Буду признателен подсказке по реализации любыми средствами кроме SQL, но лучше на
>sh+awk+sed
>
>Заранее спасибо. Вот как бы сделал я
#!/usr/bin/perl -w
use strict;
my %stat;
while(<DATA>) {
chomp;
my @tmp = split(/,/, $_);
if(!defined($stat{$tmp[0]})) {
$stat{$tmp[0]} = [0, 0, 0, 0]; #формат: количество элементов, сумма 1 столбца, сумма 2, сумма 3
}
$stat{$tmp[0]}->[0] += 1;
foreach my $i (1..3) {
$stat{$tmp[0]}->[$i] += $tmp[$i];
}
}
#Результ
foreach my $k (sort keys(%stat)) {
print "$k ";
foreach my $i (1..3) {
print $stat{$k}->[$i]/$stat{$k}->[0], " ";
}
print "\n";
}
__DATA__
STRING-001,63,8,54
STRING-001,11,3,6
STRING-001,11,3,4
STRING-001,50,13,31
STRING-003,3,2,11
STRING-003,3,2,1
STRING-004,3,2,4
STRING-004,3,2,2
STRING-004,2,2,3
STRING-004,3,2,6
STRING-004,1,1,8
но если ты желаешь исполнить это на седе шеле и авке то тебе придеться поискать кого нибудь другого или сделать это самому.