como extrair a última seqüência numérica em um endereço IP (usando Linux)

0

Eu quero extrair os últimos dígitos de um endereço IP com base no resultado do comando ifconfig.

ifconfig geralmente inclui um monte de saída, então não tenho certeza de como obter os dígitos que eu quero.

exemplo:

root@my-pc:~/scripts# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr b8:44:ca:43:d5:99  
          inet addr:192.168.1.15  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:33685377 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29363607 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3918498595 (3.6 GiB)  TX bytes:3888643193 (3.6 GiB)

Eu quero pegar o número 15 do endereço IP que é 192.168.1.15

Muito obrigado :)

ps. Não tenho certeza de quais tags usar com tão desculpas antecipadamente

    
por mrjayviper 18.05.2014 / 19:55

1 resposta

3
ip -o addr show dev "eth0" | awk '$3 == "inet" {print $4}' | sed -r 's!/.*!!; s!.*\.!!'

(Não use ifconfig - use ip addr .)

Além disso, não se esqueça de que uma interface pode ter vários endereços IP; nem todos os endereços são /24 's; nem todos os endereços começam com 192.168.1. ; e nem todos os endereços são IPv4. Esses scripts "rápidos" irão, portanto, quebrar em muitos sistemas.

    
por 18.05.2014 / 20:02