Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在同一行上显示IP和ns[1,2].*的脚本_Bash_For Loop_Dig - Fatal编程技术网

Bash 在同一行上显示IP和ns[1,2].*的脚本

Bash 在同一行上显示IP和ns[1,2].*的脚本,bash,for-loop,dig,Bash,For Loop,Dig,我在一个名为“IPs”的文件中有我想要的所有IPdig+trace-x 我只想查看IP的ns1(和/或)ns2记录,并将IP和ns1或ns2记录输出在同一行上,如下所示: 1 - $IP - $NS 2 - $IP - $NS etc. 现在,我只有一个脚本,我称之为“digdugg”,看起来像这样 for i in `cat ips` do dig +trace -x $i | tail -n7 done 然后通过运行:bash-xdigdugh 但是,我真正需要的是一行上的IP和ns记录

我在一个名为“IPs”的文件中有我想要的所有IP
dig+trace-x

我只想查看IP的ns1(和/或)ns2记录,并将IP和ns1或ns2记录输出在同一行上,如下所示:

1 - $IP - $NS
2 - $IP - $NS
etc.
现在,我只有一个脚本,我称之为“digdugg”,看起来像这样

for i in `cat ips`
do
dig +trace -x $i | tail -n7
done
然后通过运行:
bash-xdigdugh

但是,我真正需要的是一行上的IP和ns记录,然后是列表中的下一个IP和下一行上的ns记录。然后是下一个等等


非常感谢您的帮助

也许是这样的

for ip in `cat ips`; do
  ns=`dig +trace -x $ip | tail -n7 | awk '/NS/ {print $NF}'`
  echo "$ip - $ns" | tr '\n' ' '
  echo ""
done

也许是这样的

for ip in `cat ips`; do
  ns=`dig +trace -x $ip | tail -n7 | awk '/NS/ {print $NF}'`
  echo "$ip - $ns" | tr '\n' ' '
  echo ""
done

bash 4中的另一个解决方案:

while read ip; do
    while read ns; do
       echo -e "$ip\t$ns";
    done < <(dig +trace -x $ip | grep -i "ns[12]")
done < ips

希望这将有助于bash 4中的另一个解决方案:

while read ip; do
    while read ns; do
       echo -e "$ip\t$ns";
    done < <(dig +trace -x $ip | grep -i "ns[12]")
done < ips

希望这会有所帮助

您能给出一个具体的输出示例吗?比如说,对于ip 8.8.8.8,你想要“1-8.8.8-ns1.level3.net”等等?是的,我想读一下:1-$ip-$nsCan你能给出一个你想要的输出的具体例子吗?比如说,对于IP8.8.8.8,你想要“1-8.8.8-ns1.level3.net”等等?是的,我希望它是:1-$ip-$n这个解决方案很好,但它在一行上重复所有输出,而不是在单独的行上重复输出。它需要在每条线路上有一个不同的IP,下降。啊,当然。您需要在每行之后打印一个换行符。修正了。实际上我是想写
$NF
。愚蠢的习惯…:(此解决方案非常有效,但它在一行上重复所有输出,而不是在单独的行上重复输出。每行上需要一个不同的IP,降序。啊,当然。每行之后需要打印一个换行。已修复。实际上我是想写
$NF
。愚蠢的习惯…(库尔:)请给我加个名字;)库尔:)请给我加个名声;)