[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Substituição com Sed
From: |
Marcilio Almeida de Moura |
Subject: |
Re: [shell-script] Substituição com Sed |
Date: |
Tue, 19 Dec 2006 22:07:30 -0300 (ART) |
Valeu pelas dicas, vou testar todas.
Tiago Barcellos Peczenyj <address@hidden> escreveu:
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 <address@hidden> 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 <address@hidden> 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 <address@hidden
> > > <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:
> > >
> > > neo@pegasus $ echo "ol:a)b" | sed -ne "s/\(:\|)\)/ /gp"
> > > ol a b
> > > neo@pegasus $
> > >
> > > Repare que o caracter | precisa ser escapado pra funcionar! Uma outra
> > > alternativa é usar o tr (se você só quiser substituir caracteres:
> > >
> > > neo@pegasus $ echo "ol:a)b" | tr ':' ' ' | tr ')' ' '
> > > ol a b
> > > neo@pegasus $
> > >
> > > 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: address@hidden
> > ----------------------------------------------------------
> > 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
__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/
[As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Substituição com Sed, Tiago Barcellos Peczenyj, 2006/12/18