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 19:57:32 -0000
User-agent: eGroups-EW/0.82

Excelente a sua explicação. Funcionou direitinho, porém, como 
todo "fuçador", eu dupliquei o registro alterando a posição da data 
por outra data, e após o comando abaixo, o awk nem quiz saber o que 
tinha nos campos a serem tratados. Mas foi útil tb, pois amanhã pode 
pintar um problemão desses e aí já sabemos como tratá-los.

Júlio, outra vez  muito obrigado pelas dicas aqui no grupo.
Só estamos acompanhando os elogios que vcs estão recebendo. Eu 
particulamente, assim como os outros do grupo, apoiamos estes elogios.

Abraços,
Luiz

--- Em address@hidden, Julio Cezar Neves - 
DATAPREVRJ <julio.neves@p...> escreveu
> Aê Luiz,
> trocando uma data na 10a. posição:
> 
> echo 1234567890xDATAx12345678901 | sed 's/\(.\{10\}\).\{6\}/
\1300604/'
> 
> Explico:
> s - trocar
> (.{10}) - .->qq caractere, {10}->dez vezes e os parênteses servem 
para
> formar um grupo., ou seja formei um grupo com os 10 primeiros 
caracteres;
> .{6} - Saõ os próximos 6 caracteres (a data);
> /\1300604/ - As barras servem para definir o escopo da troca. O \1 
substitui
> o agrupamento que feito (os 10 primeiros caracteres) e a nova data. 
> 
> As outras contrabarras são para proteger (,),{ e } da interpretação 
do
> shell.
> 
> No seu caso, substitua o 10 por 54.
> 
> Sucesso,
> Julio Cezar Neves
> 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 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
> | > | 
> | > | 
> | > | 
> | > | --------------------------------------------------------------
----
> | ---
> | > | 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
> | > ----------------------------------------------------------------
----
> | -
> | >  
> | > Links do Yahoo! Grupos
> | 
> | 
> | 
> | ------------------------------------------------------------------
---
> | 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
> --------------------------------------------------------------------
-
>  
> Links do Yahoo! Grupos


reply via email to

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