Bem, se você sabe que seu IP começa com 10.16
, é trivial:
ifconfig -a | grep -oP '\b10\.16\.[0-9.]+\b'
Ou, se o seu grep
não for compatível com -P
ou -o
:
ifconfig -a | awk '/10\.16\./ && /inet/{print $2}'
Se não, você pode encontrar todas as linhas que começam com inet
e imprimir seu segundo campo:
ifconfig -a | awk '$1=="inet"{print $2}'
Isso, no entanto, também retornará 127.0.0.1
, o localhost. Para evitar isso, você poderia fazer:
ifconfig -a | awk '$1=="inet" && $5=="broadcast"{print $2}'
Eu não tenho um mac para testar isso, mas em geral, ifconfig
está ficando obsoleto em favor de ip
. Você pode querer considerar usar isso:
ip addr show | awk -F'[ /]*' '$2=="inet" && $5=="brd"{print $3}'