【问题标题】:read /etc/named.conf in shell script and get domains在 shell 脚本中读取 /etc/named.conf 并获取域
【发布时间】:2015-08-23 00:59:47
【问题描述】:

我需要阅读 etc/named.conf 文件,并获取域 我只想要域名,然后将域名排成一行

zone "example.org" {
type master;
file "/var/named/example.org.db";
};


zone "example.com" {
type master;
file "/var/named/example.com.db";
};

};

我想要这样的输出:

example.org
example.com

我想在 www.who.is 的 cgi-bin 脚本中添加这个域 输出如下:

example.org : www.who.is/example.org
example.com : www.who.is/example.com

我等你

感谢您,感谢所有用户,感谢 stackoverflow.com

【问题讨论】:

    标签: shell dns cgi-bin named


    【解决方案1】:

    如果所有“区域”行都以您发布的格式开头,那么这将提供所需的输出:

    grep '^zone' /etc/named.conf | cut -d'"' -f2
    

    【讨论】:

    • 是的,很好,谢谢,请你解释一下命令 grep '^zone' /etc/named.conf |剪切 -d'"' -f2
    • 以及如何在 www.who.is/example.com 这样的 cgi 脚本中将域添加到 www.who.is。 www.who.is/example.org ?????????非常感谢
    • 您是否要对您的 named.conf 文件中的每个域名运行 whois 查询?如果您在 Linux 系统上,您应该能够在本地运行 whois 实用程序。然后,如果您想将所有 whois 查询保存到文件中,您可以执行以下操作:grep '^zone' /etc/named.conf | cut -d'"' -f2 | while read l; do (whois $l > /tmp/$l.whois.txt); sleep 5; done(注意:“sleep 5”在两次查询之间等待 5 秒;这很重要,因为如果您查询同一个 whois 服务器太快,它会阻止你一段时间。)
    • 并解释我使用的各种命令:grep '^zone' /etc/named.conf 在 /etc/named.conf 中查找“zone”一词位于行首的行。要了解它是如何工作的,请查看 grep 和正则表达式的文档或教程。 | cut -d'"' -f2:管道 (|) 将 grep 的输出(类似于 zone "example.com" { 的行)发送到 cut 命令。 -d'"' -f2 的意思是“将文本拆分为 " 字符,给出 3 个部分,只给我第二部分 (example.com)”。 | while read l ...:在 bash 或 sh 中查找循环,并输出重定向。
    • 感谢您的解释和帮助 非常感谢,我的意思是我需要从 who.is 查看服务器上所有站点的 whois 如果你想添加任何东西 如果我想添加,不一定是 whois “你好”在所有从named.conf获得的域之后,比如example.com:你好example.org:你好等......我等你,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-08
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 2017-11-14
    相关资源
    最近更新 更多