Intereting Posts
Установка pam_radius через диспетчер пакетов RHEL 7.4 – зависимость moreutils от perl IPC :: Run Debian Запуск задания выполняется для автоматических обновлений Найти физическое расположение USB-порта? Невозможно включить службу Canonical Livepatch в Ubuntu 16.04.4 Ошибка LTS: не найдена привязка «canonical-livepatch» Настройки дисплея не сохранятся: проблема XRandR2 Как переопределить функцию bash с точки зрения старого определения? USB-клавиатура не работает с Grub запустите команду sudo, указав пароль в той же строке `Control + Alt + Tab` не показывает верхнюю панель в Gnome 3 notify-send не работает из сценария, но работает с терминала Как определить ошибку в определенном файле при проверке контрольной суммы (какой файл имеет проблему при проверке) в сценарии оболочки Параметры двусторонней печати с использованием lp или lpr Как узнать, какой открытый ключ использовался, когда кто-то использовал пароль без пароля ssh? Выход netstat – «ESTABLISHED -» (имя программы не указано). В чем проблема?

Разделите элементы столбца на столбец с одним элементом

Как итеративно делить элементы столбца на элемент с одним элементом в другом столбце?

Например, вход:

2 2 2.2 4 44 

Ожидаемый результат:

 1 1.1 2 22 

Стандартное деление awk '{print $1/$2}' Input > Output не работает (как итерация через все элементы без exixting $2 )

Чтобы получить дивизор, вам нужно рассмотреть значение только в первой строке второго столбца. Вы можете использовать FNR для этого. В awk FNR ссылается на номер записи (практически номер строки) в текущем файле. Храните делитель, прочитав первую строку второго столбца и разделив элементы в первом столбце на сохраненное значение.

awk 'FNR==1 {d=$2} {print $1/d}' Input > Output