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

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

Re: [shell-script] Pegar valor em um arquivo e atualizar


From: Rodrigo Baroni
Subject: Re: [shell-script] Pegar valor em um arquivo e atualizar
Date: Tue, 21 Dec 2004 17:54:23 -0200

On Tue, 21 Dec 2004 17:49:11 -0200, Rodrigo Baroni
<address@hidden> wrote:
> On Tue, 21 Dec 2004 16:24:01 -0300 (ART), Leonardo Vieira
> <address@hidden> wrote:
> >
> > Ola galera, estou querendo fazer um script que leia um
> > arquivo pegue um valor a partir de uma determinada
> > posição e atualize esse valor, por exemplo:
> >
> > [INT_PAN_2005.SES_INT_REGRAS_ALOCACAO_PAR]
> > $$REGRA_ATUAL=144
> >
> > Esse seria o arquivo gostaria de pegar esse valor 144
> > do arquivo e subtrair de 1 e atualizar esse arquivo.
> > Obs:
> > 1 - A string '$$REGRA_ATUAL=' é fixa, ou seja, posso
> > pegar sempre a partir da posição 15
> > 2 - Esse número pode ter até 4 casas, exemplo: 1000.
> >
> > Muito obrigado pela atenção de todos!
> >
> > Leonardo Vieira
> > Consultor ETL
> 
> 
>   Olá Leonardo,
> 
>     Em uma linha de comando -  aí vai ela (digite sem quebra de
> linha(enter)), e subtitue <file> pelo nome do seu arquivo. Teste em
> uma cópia dele primeiro! (faça backups) :
> 
>       VALUE=$(sed -n '15 s/.*=//p' file); NEW_VALUE=$((VALUE + 1));
> sed "15 s/$VALUE/$NEW_VALUE/" file > file.tmp ; mv file.tmp file

  Ops, lendo melhor, entendi errado o que vc havia dito. Pensei que
tal valor estaria sempre na linha nro 15, mas na verdade vc quiz dizer
na posicao 15 neh? - Aí segue corrigido:

 VALUE=$(sed -n 's/$$REGRA_ATUAL=//p' file); NEW_VALUE=$((VALUE + 1));
sed "s/$VALUE/$NEW_VALUE/" file > file.tmp ; mv file.tmp file

Rodrigo Ferreira Baroni
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "..  mas  se  é  algo  cujo  conhecimento  a humanidade poderá se beneficiar
tremendamente, eu não devo reter pra mim. A proposta da ciência e da  tecnologia
é  desenvolver  informações  úteis  para  a  humanidade para ajudar as pessoas a
viverem suas vidas de forma melhor. Se prometemos reter essa informação, se man-
tivermos segredo, então estaremos traindo a missão de nossa área."
          -Richard Stallman. President of the Free Software Foundation
                                  www.fsf.org
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


reply via email to

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