pode ser usado o grep para mostrar a exata string que se encaixa numa
expressão regular

arp -an | grep -oE '[0-9.]{4,12}'

quanto ao awk + sed

arp -an | awk '{print $2}'| sed "s/(//g" | sed "s/)//g"

pode ser abreviado para

arp -an | awk '{print $2}' | sed "s/(//g;s/)//g"

e por ai vai... dá pra fazer chover nesse exemplo. feio ou não, o
importante é que funcione ;-)

On 12/19/06, edjunior <[EMAIL PROTECTED]> wrote:
>
> hey,
>
>  acho que o que você procura (são os endereços IP retornados em `arp
>  -an` né?) pode-se conseguir usando uma substituição com apenas um sed
>  ;)
>
>  Aqui você pega apenas o padrão entre os parênteses (usando os
>  parênteses 'escapados'), que logo depois é chamado de '\1' na
>  substituição:
>
>  $ arp -an | sed 's/.*(\(.*\)).*/\1/'
>
>  Em http://www.grymoire.com/Unix/Sed.html#uh-4 você pode encontrar uma
>  pequena explicação sobre o que acontece nessa substituição.
>
>  hasta!
>
>  jr.
>
>
>  On 12/19/06, Marcilio Almeida de Moura <[EMAIL PROTECTED]> wrote:
>  > Tudo bom Sérgio,  olha porque minha dúvida, eu usei o sed 2 vezes, fiz
>  > desta forma:
>  >
>  > arp -an | awk '{print $2}'| sed "s/(//g" | sed "s/)//g"
>  >
>  > Obrigado pela explicação.
>  >
>  >
>  > Sérgio Durigan Júnior escreveu:
>  > >
>  > > On 12/18/06, marcilio.moura <[EMAIL PROTECTED]
>  > > <mailto:marcilio.moura%40yahoo.com.br>> wrote:
>  > > > Boa tarde lista, estou pretendendo realizar uma substituição em um
>  > > > arquivo e gotaria de saber se o Sed aceita dois paramentros para
>  > > > substituir ex: trocar : e ) por espaço ? Agradeço a ajuda.
>  > >
>  > > E aí Marcílio?!
>  > >
>  > > Então cara, pelo que entendi, essa sua dúvida é totalmente resolvida
>  > > usando-se o "OU" de expressões regulares. Ele é representado por |.
>  > > Você pode fazer assim:
>  > >
>  > > [EMAIL PROTECTED] $ echo "ol:a)b" | sed -ne "s/\(:\|)\)/ /gp"
>  > > ol a b
>  > > [EMAIL PROTECTED] $
>  > >
>  > > Repare que o caracter | precisa ser escapado pra funcionar! Uma outra
>  > > alternativa é usar o tr (se você só quiser substituir caracteres:
>  > >
>  > > [EMAIL PROTECTED] $ echo "ol:a)b" | tr ':' ' ' | tr ')' ' '
>  > > ol a b
>  > > [EMAIL PROTECTED] $
>  > >
>  > > Espero ter ajudado!
>  > >
>  > > []s
>  > >
>  > > Sérgio.
>  > >
>  > >
>  >
>  >
>  >
>  > _______________________________________________________
>  > Yahoo! Mail - Sempre a melhor opção para você!
>  > Experimente já e veja as novidades.
>  > http://br.yahoo.com/mailbeta/tudonovo/
>  >
>  >
>  > ----------------------------------------------------------
>  > Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
>  > ----------------------------------------------------------
>  > Sair da lista: [EMAIL PROTECTED]
>  > ----------------------------------------------------------
>  > Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
>  > ----------------------------------------------------------
>  > Servidor Newsgroup da lista: news.gmane.org
>  > Grupo: gmane.org.user-groups.programming.shell.brazil
>  >
>  >
>  > Links do Yahoo! Grupos
>  >
>  >
>  >
>
>
>                   



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer

Responder a