У меня есть файл данных, который я хочу использовать для нормализации awk
, основанный на последнем назначении данных. Поэтому я хотел бы сначала получить доступ к последней точке данных, чтобы нормализовать данные, а затем обработать в обычном режиме.
Следующий метод, использующий tac
дважды, делает работу, но, может быть, более сложный, чем необходимо.
$ 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
Мой вопрос заключается в следующем: возможно ли получить вышеуказанный результат, используя только awk?
Я думаю, что ответ «Нет, awk сканирует файл построчно», но я открыт для предложений по альтернативам.
$ awk --version GNU Awk 3.1.8
. Можете ли вы добавить очень маленькое объяснение того, как обрабатываются два входных файла и чтоnext
делает?