![Bash 脚本输出](https://linux22.com/image/196017/Bash%20%E8%84%9A%E6%9C%AC%E8%BE%93%E5%87%BA.png)
因此,我的 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