Calcular diferenças de entradas de coluna

1

Eu tenho um arquivo de texto com:

1 100
2 80
3 70
4 64

Agora preciso de outro arquivo que contenha a primeira coluna igual a acima e a segunda coluna seja a diferença de valores consecutivos do arquivo acima, ou seja:

1 20
2 10
3 6

Qual é a maneira mais elegante / fácil de realizar isso com comandos unix? O que muda se eu não precisar de um segundo arquivo, mas apenas tenha uma terceira coluna no arquivo original com as diferenças desejadas.

Muito obrigado!

    
por User133713 12.01.2015 / 21:09

1 resposta

4

Para cálculos awk é mais adequado

awk 'NR!=1{print a,b-$2};{a=$1;b=$2}'

Se você quiser ter uma terceira coluna com diferença, basta adicioná-la:

awk 'NR!=1{print a,b,b-$2};{a=$1;b=$2}'
    
por 12.01.2015 / 21:26