Можно добавить границы слов, и изменить
на \.
(чтобы соответствовать буквальным периодам, а не любым символам)
sed 's/\b72\.16\.90\.12\b/#&/g'
Также обратите внимание на использование &
, чтобы избежать дублирования замены. Модификатор g
в данном контексте, вероятно, тоже не нужен, поскольку адреса хостов у вас по одному в строке.
IP=10.10.10.10 # change to yours
sed -i -e "/${IP}/s/${IP}/#${IP}/" /etc/hosts