|
From: | Paulo Bettega |
Subject: | Re: [shell-script] pegar ip configurado |
Date: | Fri, 28 Feb 2014 13:54:11 -0300 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 |
Olá Marcelo, uso essa expressão grep -Eo '((1|2)?[0-9]{1,2}\.){3}(1|2)?[0-9]{1,2}' <<<"$(ifconfig)" acho que desse jeito fica mais fácil filtrar ips válidos de não-válidos se for preciso. Pode virar uma função pra pegar os dados de uma só interface pega_dados_if() { sed -n "/$1/,/^$/p" <<<"$(ifconfig)"|egrep -o '((1|2)?[0-9]{1,2}\.){3}(1|2)?[0-9]{1,2}' } Por enquanto (e provavelmente pra sempre...) só uso ipv4 na minha rede interna :) expressão regular pra pegar ipv6 deve ser um pesadelo. Abraços Paulo Bettega On 28-02-2014 10:56, Marcelo F Andrade wrote:
Olá, gente! Gostaria, por gentileza, de uma outra dica --talvez mais adequada-- de como resolver uma tarefa que me pareceu simples: pegar o IP configurado na interface de rede. $ ifconfig eth0 | egrep '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 Como se vê, o padrão do IP casa três vezes nessa linha. Eu consigo resolver esse problema tranquilamente com um cut ou awk (ou mesmo um grep -o). Mas o que gostaria de saber é como seria uma ER para pegar "o valor do IP que aparece depois de 'inet addr:'". Grato. MARCELO F ANDRADE | Belem, Amazonia, Brazil | http://about.me/mfandrade
[Prev in Thread] | Current Thread | [Next in Thread] |