Ste*_*eve 1 unix dns shell zones
发现以下内容:http://mike.murraynet.net/2009/08/23/parsing-the-verisign-zone-file-with-os-x/
\n\nunix-masters 可以看一下它,看看它是否是在区域文件中收集唯一域名的最佳方法吗?
\n\n对于 .NET 域:\ngrep \xe2\x80\x9c^[a-zA-Z0-9-]+ NS 。\xe2\x80\x9d net.zone|sed \xe2\x80\x9cs/NS 。//\xe2\x80\x9d|uniq >> netdomains.txt
\n\n对于 .COM 域:\ngrep \xe2\x80\x9c^[a-zA-Z0-9-]+ NS 。\xe2\x80\x9d com.zone|sed \xe2\x80\x9cs/NS 。//\xe2\x80\x9d|uniq >> comdomains.txt
\n\n对于 .EDU 域:\ngrep \xe2\x80\x9c^[a-zA-Z0-9-]+ NS 。\xe2\x80\x9d edu.zone|sed \xe2\x80\x9cs/NS 。//\xe2\x80\x9d|uniq >> edudomains.txt
\n就我个人而言,我会named-checkzone在进一步处理之前规范化区域文件的格式:
% named-checkzone -i none -s full -D com. com.zone | \
perl -ane 'print $F[0]."\n" if $F[3] eq "NS"' | \
uniq
Run Code Online (Sandbox Code Playgroud)
无可否认,命令行更长,但它避免了对潜在脆弱的正则表达式匹配的需要。保证输出的第四个字段中named-checkconf包含资源记录类型 ( NS),第一个字段中包含整个域名。
FWIW,named-checkzone还对区域文件输出进行排序,以确保uniq正常工作。