Imprimindo a diferença entre valores adjacentes em uma coluna para uma nova coluna

0

Eu tenho um arquivo

A 1
A 2
A 4
A 6

Eu quero imprimir a diferença entre os valores adjacentes (abaixo-acima) na coluna 2 para uma nova coluna 3, para obter isso

A 1
A 2 1
A 4 2
A 6 2

Eu descobri algo como este em SO , mas não conseguiu imprimi-lo como uma nova coluna.

awk 'NR>1{print $1-p} {p=$1}' file
    
por Johnny Tam 03.10.2017 / 05:29

1 resposta

5

Para modificar o código em questão

$ awk 'NR>1{$3=$2-p} {p=$2} 1' file 
A 1
A 2 1
A 4 2
A 6 2
  • Os campos são indexados de 1 , portanto use $2 para a segunda coluna
    • $0 contém registro de entrada inteiro
  • Após modificar, você precisa imprimir o registro. A ação padrão é imprimir o conteúdo de $0 se a condição for verdadeira. 1 é usado idiomaticamente para tais casos
por 03.10.2017 / 06:14

Tags