Лично я бы использовал named-checkzone
, чтобы канонизировать формат файла зоны перед дальнейшей обработкой:
% named-checkzone -i none -s full -D com. com.zone | \
perl -ane 'print $F[0]."\n" if $F[3] eq "NS"' | \
uniq
Командная строка, по общему признанию, длиннее, но она устраняет необходимость в потенциально хрупком сопоставлении регулярных выражений. Выходные данные named-checkconf
гарантированно будут иметь тип записи ресурса (NS
) в четвертом поле и полное имя домена в первом поле.
FWIW, named-checkzone
также сортирует вывод файла зоны, что обеспечивает правильную работу uniq
.