0
оценивается как false
и по условию $4 ? $4 : "-"
сводится к "-"
.
Для проверки на пустое четвертое поле необходимо указать условие $4 != ""
.
awk -F':' '{ print NR, ($4 != ""? $4 : "-") }' file
Так же, как @ctrl -alt -delor говорит в комментарии :Посмотрите, настроен ли клиент так, как вы хотите. Как DHCP это делает, не имеет значения.
Для справки, он использует стандартные -механизмы болота, например. настроить сетевые интерфейсы, маршрутизацию, поиск DNS и еще много чего. Если данные с сервера хранятся где-то в центре, они находятся в памяти DHCP-клиента. Это довольно мелочь, если подумать.
Если вам все еще любопытно, вперед! Прочтите документацию(все справочные страницы, посмотрите, есть ли более подробная/дополнительная документация ), получите исходный код и посмотрите, как это работает.
Аренда, которую получает dhclient(8)
, хранится в /var/db/dhclient.leases.if
, где if
— имя вашего интерфейса (, например. em0
, iwm0
и др.)
Это также упоминается в руководстве dhclient(8)
, в разделе ФАЙЛЫ . Формат этих файлов/этого файла объясняется в dhclient.leases(5)
.