paolagframos
(usa Ubuntu)
Enviado em 19/10/2011 - 09:50h
Tenho um arquivo chamado "clim-input" que possui 105120 linhas de dados de entrada sendo ano, temperatura e tc, para rodar um modelo de agricultura.
Preciso mudar dados de temperatura para +2 em uma rodada e -2 em uma rodada.
Óbvio que não vou fazer isso manualmente em 105120 linhas!!!!!! Estou tentando fazer um shell pra isso, porém, não está dando muito certo a impressão dos mesmos pois ele só imprime 1 linha de valor na saída.
Segue o código:
echo ""
echo -e " {TTEXTO}33[0;34m Gerando Arquivo {TTEXTO}33[0m"
cat clim-input | cut -c35-36 > lista #pega os dados do arquivo clim-input e gera em lista
var=2 #valor de atribuicao para soma e subtracao dos dados do arquivo lista
for i in $(cat lista | head -n 105120) # pega todas as linhas do arquivo lista
do
soma=$(($i+$var)) #faz a soma dos dados do arquivo lista + 2
subt=$(($i-$var)) #faz a soma dos dados do arquivo lista - 2
done
echo "$soma" > soma #gera arquivo soma
echo "$subt" > subtracao #gera arquivo subtracao
echo ""
echo -e " {TTEXTO}33[0;31m Arquivo gerado com sucesso!! {TTEXTO}33[0m "
echo ""
Quando executo o mesmo, ele imprime o seguinte:
somente a soma e subtração da ultima linha do arquivo lista e não todas como deveria imprimir.
Alguém me ajuda, por favor?!