Usando o awk para editar números em uma coluna

1

digamos que eu tenha um arquivo de texto básico com esta aparência:

91 N 91 H 1.48
95 N 95 H -0.26
97 N 97 H 1.79
98 N 98 H -0.76

Eu quero alterar as colunas 1 e 3 para que os valores inteiros sejam n-3 assim:

88 N 88 H 1.48
92 N 92 H -0.26
94 N 94 H 1.79
95 N 95 H -0.76

Eu percebo que o awk é provavelmente a melhor maneira de fazer isso, mas não tenho idéia de como fazer com que o awk aplique uma fórmula a uma coluna, ou para o awk tratar uma coluna como valores inteiros. Existe um script simples que poderia fazer isso? Também nessa nota: que guia abrangente sobre como usar o awk, porque os que eu vi até agora são apenas exemplos de como fazer as coisas.

    
por Andrew Morris 03.08.2015 / 23:06

1 resposta

3

Este sub-resumo 3 das colunas 1 e 3:

$ awk '{$1-=3; $3-=3; print;}' file
88 N 88 H 1.48
92 N 92 H -0.26
94 N 94 H 1.79
95 N 95 H -0.76

-= é o operador subtração usual. Funciona da mesma forma no awk, como em C ou python.

    
por 03.08.2015 / 23:11

Tags