Etapa 1: junte os arquivos em um arquivo de várias colunas:
paste f1 f2 f3 > _1.tsv
Etapa 2: adicione uma fórmula para calcular a soma:
gawk '1;END{for(i=0;i<NF;i++)
{printf("=SUM(%c1:%c%d)\t",65+i,65+i,NR)} print ""}' _1.tsv > _2.tsv
Etapa 3: inspecione o resultado
$ cat _2.tsv
100 100 100
...
99 99 99
=SUM(A1:A5) =SUM(B1:B5) =SUM(C1:C5)
$ gnumeric _2.tsv # excel, whatever your favorite spreadsheet
Etapa 4: (provavelmente não é necessário) se você realmente quiser um arquivo .xls
:
ssconvert _2.tsv _2.xls
ssconvert
vem com a planilha gnumeric
fantastic ( apt-get install gnumeric
, se necessário); Vários formatos de conversões disponíveis.
ssconvert _2.tsv _2.pdf
ssconvert _2.tsv _2.txt
Como esperado, esses arquivos txt e pdf têm fórmulas substituídas por seus resultados.
Atualização:
para ter uma coluna com a soma da linha, a Etapa 2 poderia ser:
gawk '{printf("%s\t=SUM(A%d,%c%d)\n", $0, NR, NF+64, NR)}' < _1.tsv
100 1 90 =SUM(A1,C1)
241 2 23 =SUM(A2,C2)
312 3 3 =SUM(A3,C3)
onde:
-
NR
representa o número da linha (Número de registro) e -
NF
Número de campos