caldemi
(usa Ubuntu)
Enviado em 20/01/2012 - 00:22h
Ola pessoal, alguém pode me ajudar no meu script?
Preciso ler de um arquivo uma informação repetidamente. Para enxugar o script, tentei criar um loop que atribui o valor do contador "CONT" ao nome da variável "VAR" que recebe a informação:
Resumindo, eu queria substituir o trecho :
VAR1=`cat arq.txt | head -1 | tail -1`
VAR2=`cat arq.txt | head -2 | tail -1`
VAR3=`cat arq.txt | head -3 | tail -1`
VAR4=`cat arq.txt | head -4 | tail -1`
VAR5=`cat arq.txt | head -5 | tail -1`
VAR6=`cat arq.txt | head -6 | tail -1`
pelo loop abaixo :
CONT=0
TOT=`wc -l arq.txt | awk '{print $1}'`
while [ $CONT -lt $TOT ];do
CONT=`expr $CONT + 1`
VAR"${CONT}"=`cat arq.txt | head -$CONT | tail -1`
done
Ao executar o script aparece a seguinte mensagem de erro :
./roda.sh: 457: VAR1=8: not found
./roda.sh: 457: VAR2=11: not found
./roda.sh: 457: VAR3=3: not found
./roda.sh: 457: VAR4=6: not found
./roda.sh: 457: VAR5=4: not found
Na mensagem de erro até parece que ele aceita e le os valores corretamente, mas se eu dou um echo, as variáveis estão todas vazias...
Alguém sabe o que está errado, e como posso corrigir?
Obrigado por qualquer dica!
Demian