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

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

Re: [shell-script] Sed novamente - Parte 2


From: Paulo Henrique Fisch de Brito
Subject: Re: [shell-script] Sed novamente - Parte 2
Date: Wed, 27 Apr 2005 17:47:23 -0300
User-agent: Mozilla/5.0 (X11; U; OSF1 alpha; en-US; rv:1.7.3) Gecko/20040914

Eliphas Levy Theodoro wrote:
Luciano Depierri, @ 08:30:

 > Gentil, obrigado pela resposta, mas no meu caso a string nao é
 > especifica, pode aparecer dessas formas:
[...]
 > então a melhor maneira de "tentar" resolver esse caso seria a
 > solução do amigo Paulo: sed 's/^.*\|//' que é limpar tudo do inicio
 > da linha até o primeiro "|".

Oi Luciano, te passei algo errado, no sistema que
uso (tru64+bash) e' necessario o \| mas testando
no linux vi que nao e' nessesario. O Eliphas ja'
te passou a resposta de como resolver com o sed
mas agora eu e' que estou com uma duvida: Nao
existe um coringa nao-guloso para usar com o sed
e o grep tal como os *? e +? que se usa no perl?



Você só está lendo a regex errado... ela quer dizer:
^  - âncora de começo de linha
.* - qualquer coisa
\| - um pipe

No caso de qualquer dessas linhas, ele vai até achar o "|", e como o
"qualquer coisa" inclui isso também, ele vai atéééééé o fim da linha.
Deveria retornar só o "x" no final, porque depois dele não tem um "|".

$ cat lixo
853   |88|a|b|u|v|i|j|w|x (com 3 espaços em branco)
853 41|88|a|b|u|v|i|j|w|x (com apenas 1 espaço em branco
853  1|88|a|b|u|v|i|j|w|x (com 2 espaços em branco

$ sed 's/^.*|//' lixo
x (com 3 espaços em branco)
x (com apenas 1 espaço em branco
x (com 2 espaços em branco

$ sed 's/[^|]*|//' lixo
88|a|b|u|v|i|j|w|x (com 3 espaços em branco)
88|a|b|u|v|i|j|w|x (com apenas 1 espaço em branco
88|a|b|u|v|i|j|w|x (com 2 espaços em branco

E... com o programa que foi feito pra isso:

$ cut -f2- -d"|" lixo
88|a|b|u|v|i|j|w|x (com 3 espaços em branco)
88|a|b|u|v|i|j|w|x (com apenas 1 espaço em branco
88|a|b|u|v|i|j|w|x (com 2 espaços em branco

--
Eliphas

[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
---------------------------------------------------------------------



*Yahoo! Grupos, um serviço oferecido por:*
PUBLICIDADE
<http://br.rd.yahoo.com/SIG=12an9tm7p/M=264379.5078783.6203979.1588051/D=brclubs/S=2137111254:HM/EXP=1114610925/A=2332652/R=0/id=noscript/SIG=119058f8i/*http://br.download.yahoo.com/messenger/>


------------------------------------------------------------------------
*Links do Yahoo! Grupos*

    * Para visitar o site do seu grupo na web, acesse:
      http://br.groups.yahoo.com/group/shell-script/
* Para sair deste grupo, envie um e-mail para:
      address@hidden
      <mailto:address@hidden?subject=Unsubscribe>
* O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.



--
=============================
Paulo Henrique Fisch de Brito
Bioinformatics - CBMEG - UNICAMP
address@hidden  phone: +55 19 3788-1101


reply via email to

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