したがって、私のbashスクリプトは最高ではありませんが、次のスクリプトはテキストファイルからIPアドレスを取得し、出力をシェルに供給し、解決された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