Задача:
получить список 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данный вариант не работает. В чем ошибка?
Спасибо
>Задача:
>получить список 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