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

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

Re: [shell-script] Re: Dúvida numa ExpReg - continuando....


From: Gustavo Adolfo Kellermann
Subject: Re: [shell-script] Re: Dúvida numa ExpReg - continuando....
Date: Thu, 10 Jul 2003 15:10:01 -0300

Soh faltou mais exemplos do resultado para eu ter certeza do que vc
precisa :-)

Mas eu entendi que vc quer trocar o 002323 para 023 em todos, e
acrescentar espaços depois para manter os campos alinhados. Isso aqui
funciona se nao houverem espaços antes do primeiro campo:

sed 's/ \(0*\)002323\([^ ]*\) / \1023\2    /' <arquivo> > <arquivo_novo>

Eu testei com os teus exemplos, e obviamente nao fez nada na linha com
002319. Mas tem como modificar para simplesmente eliminar um 023:

sed 's/ \(0*\)0023\([^ ]*\) / \10\2    /' <arquivo> > <arquivo_novo>

"substitua uma string começando por um espaço, seguindo de um numero
qualquer de zeros, 0023, um conjunto qualquer de não espaços e um espaço,
por um espaço, os zeros do início, um zero, mais os não espaços do final e
quatro espaços"

( Ainda bem que expressões regulares nos permitem dizer as coisas de
maneira bem resumida :-) )

O que gera a saida abaixo, daih eu troquei 002323 por 019 na primeira
linha... se nao quiser, eh soh o primeiro caso.

20071134180510  0000000000000000000019146631568         04545
20071134529548  000000000000000000002348034707716666    043254325
20071134529548  000000000000000000002348023158313333    04325554
20071134529548  000000000000000000002348042118755       04325435
20071134529548  000000000000000000002348034549644444    04325436
20071134529548  0000000000000000000023422312442222      0435435
20071134529548  0000000000000000000023422315755555      043555
20071134529548  000000000000000000002348042108527777    03245436
20071134188003  000000000000000000002348033524811       043255


On Thu, 10 Jul 2003 17:14:09 +0000
"marcio cruz" <address@hidden> wrote:

> 
>   Gente, me desculpe, pois eu me expliquei mal...
> 
>  segue os exemplos. E eu quero fazer td numa ExpReg de uma vez só, 
> ok!   
> 
>   Exemplos: ( trocar td que for 002323 para 023.......) 
> de:
> 20071134188003  000000000000000000000232348033524811    043255
> para:
> 20071134188003  000000000000000000002348033524811       043255
> 
> outros casos:
> 20071134180510  0000000000000000000002319146631568      04545
> 20071134529548  000000000000000000000232348034707716666 043254325
> 20071134529548  000000000000000000000232348023158313333 04325554
> 20071134529548  000000000000000000000232348042118755    04325435
> 20071134529548  000000000000000000000232348034549644444 04325436
> 20071134529548  0000000000000000000002323422312442222   0435435
> 20071134529548  0000000000000000000002323422315755555   043555
> 20071134529548  000000000000000000000232348042108527777 03245436
> 20071134188003  000000000000000000000232348033524811    043255
> 
> 
> --- Em address@hidden, Listas XTMS <listas@x> 
> escreveu
> > Olá, Márcio.
> > 
> > 
> > $ 
> sed 's,0000000000000000000002323422315755555,0000000000000000000002342
> 2315755555,g' arquivo.txt
> > 
> > []'s
> > Eri Ramos Bastos
> > 
> > On Thu, 10 Jul 2003 16:34:36 -0000
> > "marcio cruz" <mfczurc2002@y...> wrote:
> > 
> > > 
> > >    Gente, boa tarde! , 
> > > 
> > >     Acabei de entrar no grupo e já estou como uma dúvida. 
> Seguinte...
> > >     como faço para para substituir um string por outro sem 
> modificar
> > >     o restante do registro ??? 
> > > 
> > >     Exemplo: tenho 3 campos...
> > >     
> > >     Tenho: 
> > >     20071134529548  0000000000000000000002323422315755555  04325
> > >     
> > >     Quero substituir por:
> > >     20071134529548  00000000000000000000023422315755555    04325
> > >     
> > > 
> > >
> 
> 
> 
> ---------------------------------------------------------------------
> 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.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>  
> 
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html 
> 
> 
> 
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: VirusScan / Atualizado em 09/07/2003 / Versão: 1.3.13
> Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/
> 
> 


-- 
**************************
Gustavo Adolfo Kellermann
address@hidden
Terra Networks Brasil S.A.
**************************


reply via email to

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