[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