[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Extrair trecho de linha com sed
From: |
Elder Marco |
Subject: |
Re: [shell-script] Extrair trecho de linha com sed |
Date: |
Wed, 31 Mar 2010 23:05:20 -0300 |
Em Qua, 2010-03-31 às 17:51 -0300, jimmy escreveu:
> $ sed -r 's/[^(]+(\([^)]+\)).*/\1/' <<< "$string"
>
> idem, mas para colchetes:
>
> $ sed -r 's/[^{]+(\{[^}]+\}).*/\1/' <<< "$string"
>
> > E se eu quiser pegar todas as ocorrências?
> seria emular um "grep -o" por exemplo?
> e também vai depender de como quer ver a saída.
Olá meu caro, obrigado pela resposta. Então eu tentei pegar a segunda
ocorrência:
$ string="Este é um {texto} com algumas (palavras) entre {chaves} e
outras entre (parênteses)"
e fiz assim:
$ sed 's/[^(]*[(][^)]*[)][^(]*[(]\([^)]*\)[)].*/\1/' <<< "$string"
parênteses
Mas achei isso grande demais. Será que poderia ser menor ou seria assim
mesmo?
Quanto a todas as ocorrências, seria todas essas palavras em um vetor ou
então em uma variável separada por por qualquer caractere que dê para
usar num laço como o for, por exemplo.
--
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]