From KCLUG Wiki
#! /bin/bash
export origresult="empty"
export origserver="empty"
export dn="${1}"
export wi="$( whois "${dn}" )"
{
# as other formats for listing nameservers are discovered, they should each get a line that parses for them in this bracketed section
echo "${wi}" | dos2unix | grep ^Name\ Server:.*\\..*$ | sed 's/Name Server://'
echo "${wi}" | dos2unix | grep -A 500 "Domain servers in listed order:" | grep -v "Domain servers in listed order:" | sed 's/^\ *//' | grep -v ' ' | grep -v ^$
} | grep \\. | sort | while read ns
do
echo -n Asking whois-listed server, "${ns}", about "${dn}"...
result=$( dig "${dn}" @"${ns}" | grep -v '^;' | grep -v '^$' | sort )
if [[ "${origresult}" == "${result}" ]]
then
echo Agrees with ${origserver}
else
if [[ "${origresult}" == "empty" ]]
then
# Since this is the first, save its result and server
export origresult="${result}"
export origserver="${ns}"
fi
echo
echo "${result}"
fi
done