Вот один из способов сделать это в perl
:
#!/usr/bin/perl
use strict;
my @lines=();
# read and sum the columns of all input files.
foreach my $file (@ARGV) {
my $lc=0; # line counter
open(FH,'<',$file) or die "couldn't open $_ for write: $!\n";
while (<FH>) {
# split columns by whitespace. change to suit your input.
my @fields=split;
my $fc=0; # field counter
while ($fc < @fields) {
$lines[$lc]->[$fc] += $fields[$fc++];
};
$lc++;
};
close(FH);
};
# now output the summed lines
foreach my $lc (0..@lines-1) {
# output columns separated by a TAB (\t). Change as required.
print join("\t", @{ $lines[$lc] } ),"\n";
}
Суммирует столбцы для каждой строки для всех входных файлов.
Нечисловые значения в полях обрабатываются как 0.
Работает с файлами, имеющими одинаковое или разное количество строк.
Это работает даже в том случае, если файлы содержат разное количество полей в строке (хотя вывод может быть не таким, как вы ожидаете, или даже не пригодным для использования - не рекомендуется).