我有以下格式的DNS和IP地址列表:
DNS IP
DNS IP
DNS IP
我需要做一个执行dig +short DNS
的脚本,并检查它是否具有与其旁边相同的IP,以及所有文档的IP。想法是,如果相同,则返回$DNS and $IP match
之类的消息,如果相同,则返回错误消息。
我尝试过使用awk '{ DDD=$(dig +short $1); if ( $DDD == $2 ); then; print "'$DDD' and '$2' match."; fi }' all.log
但是结果是:
(空格)和(空格)匹配。
(空格)和(空格)匹配。
(空格)和(空格)匹配。
答案 0 :(得分:1)
这是仅使用bash的简单答案:
while read DNS IP; do
DDD=$(dig +short "$DNS")
if [ "$DDD" = "$IP" ]; then
echo "'$DDD' and '$IP' match."
else
echo "'$DDD' and '$IP' do not match."
fi
done < all.log
请注意,dig +short NAME
命令可能会返回多行内容,在这种情况下脚本将无法工作...