Linux脚本以检查DNS是否具有相同的IP,例如同一列表中的旁边的IP



我有以下格式的DNS和IP Adress的列表:

DNS IP

DNS IP

DNS IP

,我需要执行一个执行dig +short DNS的脚本,并检查它与旁边的IP是否相同,以及所有文档。这个想法是,如果是相同的,则返回诸如$DNS and $IP match的消息,如果没有,则返回错误消息。

我已经尝试了awk '{ DDD=$(dig +short $1); if ( $DDD == $2 ); then; print "'$DDD' and '$2' match."; fi }' all.log

,但结果是:

(空间)和(空间)匹配。

(空间)和(空间)匹配。

(空间)和(空间)匹配。

这是一个仅使用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命令可以返回多个行,在这种情况下,脚本将行不通...

最新更新