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

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

Re: Extrair trecho de linha com sed


From: Sérgio
Subject: Re: Extrair trecho de linha com sed
Date: Thu, 01 Apr 2010 11:50:26 -0000
User-agent: eGroups-EW/0.82

cat texto | grep -o '[(][^)]*[)]' | head -1

[(] ....... usando o grupo [] pego o parêntese de abertura
[^)] ...... outro grupo pega tudo menos parêntese de fechamento
* ......... em qualquer quantidade
[)] ....... seguido por um parêntese de fechamento

com o comando head filtro a primeira ocorrência


--- Em address@hidden, Elder Marco <eldermarco@...> escreveu
>
> Caros,
> 
> Dei uma pesquisada na lista e na internet e não sei se usei os termos
> corretos de pesquisa, mas não cheguei a achar algo sobre como extrair um
> trecho de uma linha com o sed, exceto por um que não compreendi no site
> do tobias. Creio que eu esteja errando na expressão regular (que estou a
> aprender) ou algum "macete" do sed que não estou levando em conta (que
> também estou a aprender).
> 
> Vejam:
> $ string="Este é um {texto} com algumas (palavras) entre {chaves} e
> outras entre (parênteses)"
> 
> Então queria pegar a primeira ocorrência de uma palavra entre
> parênteses:
> 
> $ echo "$string" | sed '/\({.*?}\)/\1/'
> Este é um {texto} com algumas (palavras) entre {chaves} e outras entre
> (parênteses)
> 
> $ echo "$string" | sed '/\(\{.*?\}\)/\1/'
> sed: -e expressão #1, caractere 17: Expressão regular precedente
> inválida
> 
> E quanto a pegar uma palavra entre parênteses, não sei como proceder.
> 
> Teriam alguma sugestão? E se eu quiser pegar todas as ocorrências? 
> E aproveitando, algum material na internet para me indicar a respeito de
> maneira que eu possa me aprofundar mais?
> 
> 
> -- 
> Elder Marco
>      
> GNU/Linux User: #471180
>          
> "Contra o positivismo, que pára perante os fenômenos e diz: 'Há apenas
> fatos', eu digo: 'Ao contrário, fatos é o que não
> há; há apenas interpretações'. "(Nietzsche)
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




reply via email to

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