В строке 'echo $ line' оболочке было предложено вывести значение $ line. Оболочка говорит ОК - готово. Затем оболочка переходит к следующей строке, которая в основном говорит: «Получите строку, затем передайте ее в какое-либо строковое управление и распечатайте результат». 1 на echo 2 на awk, которые состоят из двух отдельных строк, поэтому оболочка вела себя так, как ожидалось.
Чтобы предотвратить это, вы можете включить вторую строку в $ (), чтобы echo напечатало "$ line + $ (все, что здесь появляется) "
for line in $(cat ips.txt)
do
echo $line : $(whois $line | grep OrgName | awk '{print $2,$NF}')
done