Eu tenho um arquivo de dados que eu quero normalizar usando awk
, com base no último ponto de dados. Portanto, eu gostaria de acessar o último ponto de dados primeiro, normalizar os dados e depois processar normalmente.
O método a seguir, usando tac
duas vezes, faz o trabalho, mas talvez seja mais complicado que o necessário.
$ cat file
0 5
1 2
2 3
3 4
$ tac file | awk 'NR==1{norm=$2} {print $1, $2/norm}' | tac
0 1.25
1 0.5
2 0.75
3 1
Minha pergunta é a seguinte: É possível obter o resultado acima usando apenas o awk?
Acho que a resposta é "Não, o awk verifica o arquivo linha por linha", mas estou aberto a sugestões de alternativas.
$ awk --version GNU Awk 3.1.8
. Você pode talvez adicionar uma explicação muito pequena sobre como são tratados dois arquivos de entrada e o quenext
faz?