Попробуйте эту программу AWK quick & dirty (GNU) (сохраните ее как zone-file.awk
):
/^zone/, /^}/ {
if (NF == 4) {
zone = $2
next
}
if (NF == 2 && $1 == "file") {
sub(";$", "", $2)
print zone, $2
}
}
Она работает для меня следующим образом:
$ awk -f zone-file.awk /etc/named.conf
"." "named.ca"
"localhost" "localhost.zone"
[...]