Bash 脚本输出

Bash 脚本输出

因此,我的 bash 脚本不是最好的,但以下脚本从文本文件中获取 IP 地址,并将输出提供给 shell,并仅显示解析的 dns 主机名。

#!/bin/bash
while read line
do
dig @1.2.3.4 -x  "$line" +short
done

输出如下:

one.foo.local
two.foo.local
three.foo.local

我怎样才能在同一行上打印解析为 dns 名称的地址的 ip 地址,使其显示为:

one.foo.local 2.3.4.5
two.foo.local 6.7.8.9
three.foo.local 7.5.3.1

谢谢

答案1

你可以尝试这样的事情:

#!/bin/bash
while read line
do
nme=$(dig @1.2.3.4 -x  "$line" +short)
if [ "$(echo "$nme"|wc -c)" -gt 1 ]
   then
    echo "$nme $line"
fi 
done<input_file

相关内容