Вопрос: Чтение вывода команды оболочки в awk-скрипте


У меня есть текстовый файл со списком ip-адресов и другой информацией.

Я использую awk-скрипт для обработки этого списка и вывода различных вычислений. Я хочу позвонить dig -x из скрипта awk и использовать возвращаемое значение.

я пытался

hostname = system("dig +short -x" ip_address);

но что происходит -

  1. вызов копания печатает строку в оболочку

  2. имя хоста остается недействительным


4
2018-01-07 16:03


Источник




Ответы:


Выяснилось, но, пожалуйста, не стесняйтесь добавлять лучшие ответы

cmd = "dig +short -x " ;
cmd ip_address | getline hostname;
close(cmd)

Затем я могу использовать имя хоста в любом месте скрипта.


11
2018-01-07 16:10



Это правильный способ сделать это. Вы, вероятно, захотите сделать close(cmd) после этого. - Dennis Williamson
Да, спасибо, узнал об этом после этой публикации, закроет вопрос через 2 дня (требование суперпользователя) - bryan