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: Tiago Peczenyj
Subject: Re: [shell-script] remover palavras que possuam uma determinada letra
Date: Sat, 20 Aug 2011 15:22:11 -0300

$ 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]



reply via email to

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