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

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

Re: RES: RES: [shell-script] Alterar campo dentro do arquivo


From: lferreir1
Subject: Re: RES: RES: [shell-script] Alterar campo dentro do arquivo
Date: Thu, 01 Jul 2004 18:43:44 -0000
User-agent: eGroups-EW/0.82

Hi Rodolfo, O seu comando já pode entrar no livro do "canivete suiço"
O resultado foi o esperado.

Tá certo que devemos fazer umas continhas... somar os bytes da vida...

Grato pela ajuda.
Luiz

--- Em address@hidden, "Rodolfo Villanova" 
<rodolfo.villanova@t...> escreveu
> E aí pessoal, tudo "in riba"?
> 
> Posso apresentar uma alternativa de solução em awk?
> 
> Se tens certeza de que todos os registros entre as posições 55 e 60 
possuem
> o string "010704", com exceção do cabeçalho e do rodapé, então eu 
proponho
> as seguintes linhas:
> 
> head -1 $ARQ_ENTRADA > $ARQ_SAIDA
> awk '( substr($0,55,6) == "010704" ) { print substr
($0,1,54) "300604"
> substr($0,61,340) }' $ARQ_ENTRADA >> $ARQ_SAIDA
> tail -1 $ARQ_ENTRADA >> $ARQ_SAIDA
> 
> O resultado não será o esperado se no cabeçalho e/ou no rodapé, 
entre as
> posições 55 e 60, houver o string "010704", porque aí ocorreria 
duplicação
> dessa linha.
> 
> []s
> --------------------------
> Rodolfo D. Gross Villanova
> 
> > -----Mensagem original-----
> > De: lferreir1 [mailto:lferreir@e...]
> > Enviada em: quinta-feira, 1 de julho de 2004 13:50
> > Para: address@hidden
> > Assunto: Re: RES: [shell-script] Alterar campo dentro do arquivo
> >
> >
> > --- Em address@hidden, Julio Cezar Neves -
> > DATAPREVRJ <julio.neves@p...> escreveu
> >
> > Caro Júlio, vc tem razão... Não me expressei direito.
> > Como o registro é fixo, a posição ao qual quero alterar ( que é o
> > campo da data ) tb é fixo. Os demais campos deste registro são
> > variáveis.
> >
> > Não posso alterar via editor, ou pelo sed, pois o meu receio é que
> > possa haver o mesmo numeral em outro campo.
> >
> > Como eu sei que no campo 55 até 60 somente existe 010704, quero
> > alterar para 300604. Só agora eu lembrei que este arquivo contém
> > header e trailler.
> >
> > Conseguí expricar ou compricar?
> >
> > Luiz
> >
> >
> > > Vc colocará todos os registros com a mesma data? Poderia ser 
mais
> > explícito?
> > >
> > > [ ]s,
> > > Julio Cezar Neves
> > > - Gerente do Programa de Software Livre -
> > > Tel:+55 21 2528-7070 / +55 21 8112-9988
> > > Fax: +55 21 2528-7646
> > > mailto:julio.neves@p...
> > >
> > >
> > > | -----Mensagem original-----
> > > | De: lferreir1 [mailto:lferreir@e...]
> > > | Enviada em: quinta-feira, 1 de julho de 2004 12:24
> > > | Para: address@hidden
> > > | Assunto: [shell-script] Alterar campo dentro do arquivo
> > > |
> > > |
> > > | Galera, boa tarde...
> > > | Tenho um arquivo com 1.200 registros, registros fixos com 
400bytes
> > > | No campo 55-60 é a data no formato DDMMAA
> > > |
> > > | Como faço para alterar somente estes campos?
> > > |
> > > | Ex.:
> > > | ....010704....
> > > | para
> > > | ....300604....
> > > |
> > > | valeu galera!
> > > | Luiz


reply via email to

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