ifconfig en0 | grep inet | grep -v inet6
Ожидаемый результат будет в следующем виде:
inet 192.168.111.1 сетевая маска 0xffffff00, широковещательная передача 192.168.111.255
Добавьте оператор awk для печати второго столбца, чтобы избежать использования cut (awk - довольно стандартный инструмент Unix):
ifconfig en0 | grep inet | grep -v inet6 | awk '{print $2}'
Я использую следующее для получения текущего IP-адреса в локальной сети, где первые несколько цифр IP-адреса всегда одинаковы (замените 192.168.111 на свои собственные номера):
ifconfig | grep 192.168.111 | awk '{print $2}'
Чтобы получить ip другого компьютера, имя которого вы знаете, попробуйте (замените имя хоста и 192.168.111 своими собственными значениями):
ping -c 1 hostname | grep 192.168.11 | grep 'bytes from' | awk '{print $4}' | sed 's/://g'