shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] remover palavras que possuam uma determinada letra


From: Alysson Gonçalves de Azevedo
Subject: Re: [shell-script] remover palavras que possuam uma determinada letra
Date: Sat, 20 Aug 2011 15:39:21 -0300

entendi...
eu tinha até pensando isso mesmo... mas não conseguindo por em pratica...
por falta de conhecimento...
eu tava tentando usar:
$ echo abacate lapis rosa lanterna cachimbo | sed 's/ .[a-zA-Z][lL].[a-zA-Z]
/ /g'

só que o resultado era qualquer coisa, menos o que eu queria...
vlw aew Tiago, o que vc passou deu certim


Alysson Gonçalves de Azevedo
(11) 8491-7730



Em 20 de agosto de 2011 15:22, Tiago Peczenyj
<address@hidden>escreveu:

> $ echo abacate lapis rosa lanterna cachimbo | sed 's/ .*[lL].* /|&|/g'
> abacate| lapis rosa lanterna |cachimbo
>
> veja só vc nao esta apagando palavras e sim algo que esta entre
>
> [espaço em branco][qq coisa 0 ou + vezes][l ou L][qq coisa 0 ou +
> vezes][espaço em branco]
>
> ou seja,
>
> | lapis rosa lanterna |
>
> é uma expressão valida.
>
> se vc quer remover só palavras vc precisa ter cuidado com o meta-caracter .
> pois ele representa tudo, até espaço em branco E delimitar palavras por um
> espaço em branco nem sempre é valido pois elas podem estar no começo ou no
> fim de uma expressão.
>
> para tanto podemos fazer o seguinte
>
> $ echo abacate lapis rosa lanterna cachimbo | sed -r 's/\w*[lL]\w*/->&<-/g'
> abacate ->lapis<- rosa ->lanterna<- cachimbo
>
> nesse caso veja como ficou a expressão
>
> \w*[lL]\w*
>
> onde \w é qualquer caracter alfanumerico (precisa da opcao -r do sed
> (versão
> GNU)
>
> [ ]'s Tiago
>
>
> 2011/8/20 Alysson Gonçalves de Azevedo <address@hidden>
>
> > **
> >
> >
> > aew pessoal, eu tava precisando fazer o seguinte, ler um arquivo texto
> > qualquer e remover todas as palavras que contenham uma determinada
> letra...
> > eu pensei em usar o sed.. e bolei o seguinte código para testar...
> >
> > nesse caso, eu quero remover as palavras com l ou L
> > $ echo abacate lapis rosa | sed 's/ .*[lL].* / /g'
> > abacate rosa
> > até ai deu certo, mas ai fazendo outros testes
> > $ echo abacate lapis rosa lanterna cachimbo | sed 's/ .*[lL].* / /g'
> > abacate cachimbo
> > já aqui foi demais, e removeu o 'rosa', que deveria ter ficado...
> >
> > o que dá para ser feito para melhorar?
> > e tipo, é mesmo o sed a melhor ferramenta para isso? ou existe algo
> melhor?
> >
> > obrigado
> >
> > Alysson Gonçalves de Azevedo
> > (11) 8491-7730
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://pacman.blog.br
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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
>
>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]