URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2984
[ Назад ]

Исходное сообщение
"awk: как получить список DNS IP из /etc/resolv.conf"

Отправлено bliss , 28-Май-04 17:10 
Задача:
получить список DNS IP из /etc/resolv.conf и проверить валиднось полученных IP

вариант решения без проверки валидности IP:
cat /etc/resolv.conf | awk '/^nameserver/ { sub(/^nameserver[ ]/,""); print; }' | sort | uniq | xargs -n 10 DNS

хотелось получить что-то вроде этого:
cat /etc/resolv.conf | awk '/^nameserver[ \t]+[0-9]{1,3}([.][0-9]{1,3}){3}/ { sub(/^nameserver[ ]/,""); print; }' | sort | uniq | xargs -n 10 DNS

данный вариант не работает. В чем ошибка?

Спасибо


Содержание

Сообщения в этом обсуждении
"awk: как получить список DNS IP из /etc/resolv.conf"
Отправлено sas , 29-Май-04 08:29 
>Задача:
>получить список DNS IP из /etc/resolv.conf и проверить валиднось полученных IP
>
>вариант решения без проверки валидности IP:
>cat /etc/resolv.conf | awk '/^nameserver/ { sub(/^nameserver[ ]/,""); print; }' | sort
>| uniq | xargs -n 10 DNS
>
>хотелось получить что-то вроде этого:
>cat /etc/resolv.conf | awk '/^nameserver[ \t]+[0-9]{1,3}([.][0-9]{1,3}){3}/ { sub(/^nameserver[ ]/,""); print; }' |
>sort | uniq | xargs -n 10 DNS
>
>данный вариант не работает. В чем ошибка?
>
>Спасибо

Зависит от версии awk. Например у меня gawk требует --posix, чтобы интервальные параметры работали

awk --posix '/^nameserver[[:space:]]+[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}/ { print $2; }' /etc/resolv.conf | sort | uniq

Успехов
--- sas