подходит синтаксис grep от linux до solaris

Следующая команда

grep -w '^[^#]* machine_VIP' /etc/hosts | head -1 | awk '{print $1}'

Отлично работает в linux (он захватывает псевдоним machine_VIP и возвращает IP-адрес из /etc/hosts и игнорирует строки примечаний)

Пример

cat /etc/hosts
5.5.5.5  GH_T  T1 T2 T3 # machine_VIP
# 198.2.3.12 MON1 MON2  machine_VIP
18.2.4.12 W1 # machine_VIP # machine_VIP # machine_VIP
192.9.200.77 machine_linux1 machine_linux2  machine_VIP
192.9.200.78 machine_linux10 machine_linux20 machine_VIP_test
grep -w '^[^#]* machine_VIP' /etc/hosts | head -1 | awk '{print $1}'
192.9.200.77

Но на Solaris у меня те же хосты, и когда я запускаю команду, я ничего не получаю на выходе.

Итак, как подогнать команду под Solaris?