Soma duas colunas de arquivos diferentes

0

Eu tenho dois arquivos como este:

Arquivo1:

-54.005 -67.405 0.1

-54.05 -68.7833 0.2 

-54.05 -68.7333 0.3

Arquivo2:

-54.005 -67.4050   70    12.7

 -54.05 -68.7833  167    12.5

 -54.05 -68.7333  205    12.6

Eu gostaria de obter um arquivo que soma a coluna 3 de file1 com a coluna 4 de file2 com a seguinte saída:

-54.005 -67.4050   70    12.8

 -54.05 -68.7833  167    12.7

 -54.05 -68.7333  205    12.9

Eu tentei com o seguinte comando:

cat file1 | awk '{n=$3; getline <"file2"; print "" $1,$2,$3,n+$4}' > output.txt

mas não teve sucesso e não encontrei este tipo de resposta neste site.

    
por euge1780 03.02.2015 / 22:12

2 respostas

1

Você pode fazer uso de NR e FNR no awk.

awk 'FNR==NR { _a[FNR]=$3;} NR!=FNR { $4 += _a[FNR]; print;  }'  file1 file2
    
por 01.02.2016 / 04:20
0

Existe uma ferramenta que pode mesclar dois arquivos em um: mesclando arquivos de texto em um

paste file1 file2 | awk '{ print $3 + $13; }'

Adicione outras colunas a isso, mas observe que as colunas no arquivo 2 começam com $ 10.

    
por 03.02.2015 / 22:28