com awk
:
awk '{a[FNR]=;b[FNR]+=;c[FNR]+=;d[FNR]+=} END{for (i=1;i<=FNR;i++) print a[i], b[i], b[i], d[i]}' DOS1 DOS2 > DOS_sum
Mais claramente:
{
a[FNR]= # Keep the first column
b[FNR]+= # Sum the rest. FNR is the current line number
c[FNR]+= # in the current file. So this accumulates
d[FNR]+= # the values of a given line number across files.
}
END {
for (i=1; i<=FNR; i++)
print a[i], b[i], c[i], d[i]
}
Use a expansão de chave do bash para somar uma sequência de arquivos:
awk '{a[FNR]=;b[FNR]+=;c[FNR]+=;d[FNR]+=} END{for (i=1;i<=FNR;i++) print a[i], b[i], b[i], d[i]}' DOS{10..73}