Tengo un archivo de datos que quiero normalizar usando awk, basado en el último punto de datos. Por lo tanto, me gustaría acceder primero al último punto de datos, para normalizar los datos y luego procesarlos normalmente.
El siguiente método, usando tacdos veces, hace el trabajo, pero es quizás más complicado de lo necesario.
$ 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
Mi pregunta es la siguiente: ¿Es posible obtener el resultado anterior usando solo awk?
Creo que la respuesta es "No, awk escanea el archivo línea por línea", pero estoy abierto a sugerencias de alternativas.
$ awk --version GNU Awk 3.1.8. ¿Puede agregar una explicación muy pequeña sobre cómo se manejan dos archivos de entrada y quénexthace?