linux - 使用 GREP 并返回以下文本。 (DNS 查找)

标签 linux bash dns

我正在尝试使用脚本来运行两个 linux dns 命令 WHOIS 和 DIG。

到目前为止我的脚本如下:

#!/bin/bash
for i in $1
do      
    reg1=`whois $i`
    echo "*********WHOIS Results for $i*********"
    echo -e "[$i]\n$reg1"
    for j in 4.2.2.3 
    do
        reg=`dig any @$j $i `
        echo -e "[$j]$reg"
    done
done

现在我正在寻找一个命令来替换“4.2.2.3”,我可以用它来搜索上一个命令的输出并返回此行的一部分:“名称服务器:A.DNS.HOSTWAY.NET”。 “名称服务器:”是我要搜​​索的内容,它应该返回以下文本,停在行尾。

最佳答案

如果我正确地解释了您想要做的事情,您应该能够执行以下操作:

#!/bin/bash
for i in $1
do      
    reg1=`whois $i`
    echo "*********WHOIS Results for $i*********"
    echo -e "[$i]\n$reg1"
    grep 'Name Server' <<< "$reg1" | awk '{print $3}' | while read j
    do
        echo -e "[$j]$(dig any @$j $i)"
    done
done

关于linux - 使用 GREP 并返回以下文本。 (DNS 查找),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20248815/

相关文章:

linux - SORT - 如果某些列中有缺失值怎么办?

Ruby:检查Windows远程主机中是否安装了程序

bash - 使用 bash 回显时,某些值不会被复制

perl - 如何在 shell 脚本中处理 Perl 数组元素?

bash - 为单个语句设置 IFS

http - 在单个 VM 中提供两个用 Google Go 编写的网站

azure - 如何直接使用 DNS 名称设置 Azure IP 别名?

c - 许多 child 中只有一个 child 死了,其余的等待 ctrl + c

linux - 如何从触摸屏读取硬件级事件信息?

delphi - 如何使用 Indy 在 DNS 中找到 LDAP 服务器?