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

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

Re: [shell-script] Re: Editar um arquivo de uma linha com SED


From: Julio C. Neves
Subject: Re: [shell-script] Re: Editar um arquivo de uma linha com SED
Date: Tue, 13 Mar 2007 11:21:31 -0300

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 <address@hidden> 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 address@hidden <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: address@hidden<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 address@hidden<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: address@hidden<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]



reply via email to

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