生成 DNS 区域文件条目报告

生成 DNS 区域文件条目报告

编辑:一些说明。我正在做的是,我有一个 python 脚本,它将连接到我的 DNS 服务器,然后运行位于 home 中的 bash 脚本,以 grep 查找 *something.com 中的所有 A,然后 grep 查找我无法列出的其他内容。之后,我运行下面列出的第 1 部分或第 2 部分。结果保存在我电脑上的一个文件中。

它看起来像这样:

grep "A" *something.com | grep <something> | awk/sed <either the first or 2nd example>

第一个脚本会给我

something.something.com:DNSentry    IP

第二

something.something.com
DNSentry   IP

我需要的是让它看起来像这样。

DNSentry.something.something.com    IP

我一直在尝试完成一个可以生成 DNS 报告的脚本。到目前为止,我有两种方法可以做到这一点,结果如下。目前我有一长串的 greps、awk 和 sed。

当使用此帖子中的字符串时,我能够生成它。从命名区域文件生成 CSV/TXT 文件

org1.com:entry1       IP
org1.com:entry2       IP
org2.com:entry1       IP
org2.com:entry2       IP
etc.

我还有一个可以使用以下命令生成该脚本的脚本:

grep <pattern> | awk -F: '{if ($1 != last) {print "";print $1; last = $1} print $2}' | sed "s/A//"

我已经接近我需要的了,但是当我尝试将 org.com 添加到行中时,它会将其直接放在 IP 之后,而不是条目之后。

org1.com
entry1        IP
entry2        IP

org2.com
entry1        IP
entry2        IP

etc.

我需要得到的是这样的

entry1.org1.com    IP
entry2.org1.com    IP

entry1.org2.com    IP
entry2.org2.com    IP

答案1

虽然不完美也不万无一失,但也许这可以给你一个开始:

awk '/A/{print $1"."FILENAME"\t"$NF}' *something.com

这意味着,匹配文件中带有“A”的行,并打印文件名、记录的主机名和 IP 地址。

相关内容