hey,

será que usar os retrovisores de sed não ajudaria?

s/\(giz.......\)18.00pc/\117.00pc/g

mais exemplos com retrovisores em:
http://aurelio.net/curso/sucesu/sucesu-seder-prompt.html#toc45
http://aurelio.net/curso/ccsl/ccsl2-er-prompt.html#toc14

hasta!

jr.

On 3/13/07, Bruno Gunter Fricke <[EMAIL PROTECTED]> wrote:
> Se você quiser trocar por um ponto de verdade, precisa escapá-lo. Use o
> "\".
>
> []'s
> Gunter
>
> On Tue, 2007-03-13 at 18:09 +0000, Marcos Gattermeyer wrote:
> > Realmente devo ter me expressado mal rsrs
> >
> > As duas formas funcionaram para a pesquisa so que na troca preenche
> > com o . (ponto)
> >
> > s/giz.......18.00pc/giz.......17.00pc/g

> >
> > acha
> > giz.verde.18.00pc
> >
> > troca por
> > giz......17.00pc
> >
> > quando na realidade deveria ser
> > giz.verde.17.00pc
> >
> > Obrigado
> >
> > --- Em [email protected], "Julio C. Neves"
> > <[EMAIL PROTECTED]> escreveu
> > >
> > > Ufa, até que enfim vc se expressou. Fica difícil imaginar o que vc
> > quer sem
> > > nenhuma dica. Neste caso faça:
> > >
> > > giz.......18.00pc
> > >
> > > ou
> > >
> > > giz.\{7\}18.00pc
> > >
> > > Veja detalhes em www.aurelio.net
> > >
> > > Abraços,
> > > Julio
> > > :wq
> > >
> > >
> > > Em 13/03/07, Marcos Gattermeyer <[EMAIL PROTECTED]> escreveu:
> > > >
> > > > Tentei o seu exemplo mas nao funcionou
> > > >
> > > > Na realidade quero pesquisar giz com 3 letras + 7 caracteres que
> > > > podem ser q coisa nao necessariamente espacos em branco como
> > rosa,
> > > > azul, verde etc... e depois 18.00pc
> > > >
> > > > Acho que com uma mascara poderia ficar assim:
> > > >
> > > > giz???????18.00pc
> > > >
> > > > e substituir por
> > > >
> > > > giz???????17.00pc
> > > >
> > > > Onde se entende ??????? como coringa.
> > > >
> > > > Obrigado
> > > >
> > > > --- Em [email protected] <shell-script%
> > 40yahoogrupos.com.br>,
> > > > "Julio C. Neves"
> > > > <julio.neves@> escreveu
> > > > >
> > > > > Se eu entendi, vc está pesquisando giz seguido de 4 espaços em
> > > > branco, ou
> > > > > seja, giz com 3 letras + 4 espaços = 7 caracteres. Se for isso
> > > > faça:
> > > > >
> > > > > /giz 18.00pc/ # depois de giz coloquei 4 espaços
> > > > >
> > > > > ou
> > > > >
> > > > > /giz \{4\}18.00pc/ # depois de giz coloquei 1 espaço
> > > > >
> > > > > Abraços,
> > > > > Julio
> > > > > :wq
> > > > >
> > > > >
> > > > > Em 13/03/07, Marcos Gattermeyer <mgatter@> escreveu:
> > > > > >
> > > > > > Julio, Bom dia
> > > > > >
> > > > > > Tentei mas tambem nao deu certo,
> > > > > > Consegui resolver de outra forma mas ficou uma gambiarra
> > > > > >
> > > > > > Estou estudando ER consultando alguns sites(verde) e tb seu
> > livro
> > > > > > (parabens) mas estou cru ainda, acho que se conseguir
> > pesquisar
> > > > uma
> > > > > > string com coringa dentro do dbf devo conseguir meu objetivo:
> > > > > >
> > > > > > MEU DBF:
> > > > > >
> > > > > > k Â&CODC
> > > > > > PRODUTOC
> > > > > > ICMSNTIPOCVALORN
> > > > > > 100 teste 18.00pc 20.00 101 giz 18.00pc
> > > > > > 1.00 102 lapis 18.00pc 102.00
> > > > > >
> > > > > > Quero pesquisar "/giz[ ]{7}18.00pc/" (palavra giz com um
> > coringa
> > > > com
> > > > > > tamanho de 7 caracter mais a palavra 18.00pc)
> > > > > >
> > > > > > E trocar por "/giz[ ]{7}17.00pc/"
> > > > > >
> > > > > > Voce pode me dizer como ficaria essa ER.
> > > > > >
> > > > > > Obrigado.
> > > > > > Marcos
> > > > > >
> > > > > > --- Em [email protected]<shell-script%
> > 40yahoogrupos.com.br><shell-script%
> > > > 40yahoogrupos.com.br>,
> > > > > > "Julio C. Neves"
> > > > > > <julio.neves@> escreveu
> > > > > > >
> > > > > > > E que tal fazer:
> > > > > > > $ sed -e "s/ giz 18.00pc/ giz 17.00pc/g" dbf.
> > > > > > >
> > > > > > > Repare que tem um branco antes de giz.
> > > > > > >
> > > > > > > Abraços,
> > > > > > > Julio
> > > > > > > :wq
> > > > > > >
> > > > > > >
> > > > > > > Em 12/03/07, Bruno Gunter Fricke <gunter@> escreveu:
> > > > > > > >
> > > > > > > > Cara, faça uma expressão regular para dar a posição do
> > 18.oo
> > > > e
> > > > > > então
> > > > > > > > altere se for um caso (nada como um bom e velho if).
> > Estou
> > > > sem
> > > > > > tempo hoje
> > > > > > > > para escrever algo e testar.
> > > > > > > > Se até amanhã você não conseguir, eu vou ver se consigo
> > fazer
> > > > > > para você e
> > > > > > > > te envio.
> > > > > > > >
> > > > > > > > []'s
> > > > > > > > Gunter
> > > > > > > >
> > > > > > > > ----- Original Message -----
> > > > > > > > From: Marcos Gattermeyer
> > > > > > > > To: [email protected]<shell-script%
> > 40yahoogrupos.com.br>
> > > > <shell-script%
> > > > 40yahoogrupos.com.br><shell-script%
> > > > > > 40yahoogrupos.com.br>
> > > > > > > > Sent: Monday, March 12, 2007 8:09 AM
> > > > > > > > Subject: [shell-script] Re: Editar um arquivo de uma
> > linha
> > > > com
> > > > > > SED
> > > > > > > >
> > > > > > > > Entao Bruno,
> > > > > > > >
> > > > > > > > Dessa forma altero todos os ICMS de 18.00 para 17.00,
> > > > Gostaria de
> > > > > > > > alterara somente o ICMS que estiver entre a
> > palavra "giz" e a
> > > > > > proxima
> > > > > > > > palavra "pc".
> > > > > > > >
> > > > > > > > De qualquer forma obrigado,
> > > > > > > >
> > > > > > > > se alguem tiver mais alguma dica agradeco ?
> > > > > > > >
> > > > > > > > --- Em [email protected]<shell-script%
> > 40yahoogrupos.com.br>
> > > > <shell-script%
> > > > 40yahoogrupos.com.br><shell-script%
> > > > > > 40yahoogrupos.com.br>,
> > > > > > > > "Bruno Gunter Fricke"
> > > > > > > > <gunter@> escreveu
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Marcos, seria algo como:
> > > > > > > > >
> > > > > > > > > $ sed -e "s/$18.oo/$17.oo/g" dbf
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > ----- Original Message -----
> > > > > > > > > From: Marcos Gattermeyer
> > > > > > > > > To: [email protected]<shell-script%
> > 40yahoogrupos.com.br>
> > > > <shell-script%
> > > > 40yahoogrupos.com.br><shell-script%
> > > > > > 40yahoogrupos.com.br>
> > > > > > > > > Sent: Friday, March 09, 2007 2:17 PM
> > > > > > > > > Subject: [shell-script] Editar um arquivo de uma linha
> > com
> > > > SED
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Boa Tarde,
> > > > > > > > > A sequencia abaixo se trata de um arquivo DBF, com 5
> > campos
> > > > > > > > > COD
> > > > > > > > > PRODUTO
> > > > > > > > > ICMS
> > > > > > > > > TIPO
> > > > > > > > > VALOR
> > > > > > > > >
> > > > > > > > > k Â&CODC
> > > > > > > > > PRODUTOC
> > > > > > > > > ICMSNTIPOCVALORN
> > > > > > > > > 100 teste 18.00pc 20.00 101 giz 18.00pc
> > > > > > > > > 1.00 102 lapis 18.00pc 102.00
> > > > > > > > >
> > > > > > > > > Todo o DBF e considerado como uma unica linha, sendo
> > assim
> > > > > > gostaria de
> > > > > > > > > pesquisar e trocar somente a sequencia ICMS de "18.00"
> > > > > > para "17.00"
> > > > > > > > > que vem apos a palavra "giz", e mantenha o resto
> > intacto.
> > > > > > > > >
> > > > > > > > > tentei:
> > > > > > > > >
> > > > > > > > > sed ':a;s/^\([^giz]*,[^pc]\+\)18.00/\117.00/;ta' -i
> > > > arquivo.dbf
> > > > > > > > >
> > > > > > > > > (peguei este exemplo na internet)
> > > > > > > > >
> > > > > > > > > Mas nao funcionou.
> > > > > > > > >
> > > > > > > > > Se alguem puder me ajudar, agradeço
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > [As partes desta mensagem que não continham texto foram
> > > > > > removidas]
> > > > > > > > >
> > > > > > > >
> > > > > > > > [As partes desta mensagem que não continham texto foram
> > > > > > removidas]
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > [As partes desta mensagem que não continham texto foram
> > > > removidas]
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram
> > removidas]
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> >
> >
> >
> >
> >
> >
>
>
> [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: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> 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
>
>
>

Responder a