Да, awk
правильный инструмент, как вы могли бы сделать:
$ awk 'function abs(x) {return x<0 ? -x : x}
NR>1{printf ("%e %e %e %e\n", $3, $NF/($6/300.0000), abs($5)/$1, exp(abs($5)/$1) );
}' infile
9.999792e+00 7.561268e-03 1.073607e-04 1.000107e+00
9.976038e+00 7.309408e-03 5.264547e-05 1.000053e+00
Вы можете смоделировать функцию abs (), как указано выше, или использовать тернарный оператор, чтобы сгенерировать ее, как показано ниже, без определения функции:
$ awk 'NR>1{ $5*=($5<0?-1:1);
printf("%e %e %e %e\n", $3, $NF/($6/300.0000), $5/$1, exp($5/$1) )}' infile
9.999792e+00 7.561268e-03 1.073607e-04 1.000107e+00
9.976038e+00 7.309408e-03 5.264547e-05 1.000053e+00
Если это домашняя лаборатория, я бы порекомендовал настроить DNS/DHCP-сервер для хорошего учебного упражнения, как указано в комментарии пользователя 1794469 выше. Таким образом, при каждом изменении IP-адреса запись DNS будет обновляться динамически. Самое важное, что нужно сделать после этого, — настроить клиентские машины так, чтобы они сначала указывали на ваш DNS-сервер, прежде чем они будут искать что-то еще.
DNS и DHCP были созданы именно для решения этой проблемы. Если вы настроите ТОЛЬКО DNS-сервер, вам все равно придется вручную обновлять записи каждый раз, когда вы добавляете новую машину или машина получает другой IP-адрес.
При настройке DNS и DHCP демон DHCP будет «динамически» обновлять записи.
В Интернете есть множество руководств по настройке, поэтому обязательно найдите руководство для выбранного вами дистрибутива Linux