Estruturas de Controle

1. Estruturas de Controle

Luciano Magrini
lucianomagrini

(usa Linux Mint)

Enviado em 12/10/2015 - 20:54h

Boa tarde, alguém pode me ajudar?

Sou iniciante em Shell. Criei um script que deve ler um arquivo auxiliar composto por mais de cem linhas. Em cada uma das linhas está o nome de um arquivo e um parâmetro numérico. Quando executo o script, percebo que o script só lê a primeira linha do arquivo auxiliar. Como posso solucionar isso? Já tentei algumas dicas daqui do fórum, mas meu nível iniciante não me permite achar o problema. Alguém pode ajudar, por favor? Desde já agradeço.

______
while read -r arqq dado
do
ARQ=${arqq}
scalamax=${dado}
nscala=$((2*scalamax))

i=${ARQ}
echo $i

rm -f OK_${ARQ}
touch OK_${ARQ}
while read -r co1 co2 co3 co4 co5 co6 co7 co8 co9
do
if [ ${co7} == "9.9999900e+003" ]
then
echo "${co7} 0" >> OK_${i}
else
echo "${co7} 1" >> OK_${i}
fi

done < namelist.txt


  


2. Re: Estruturas de Controle

Luis Henrique Pessoa
gwarah

(usa Ubuntu)

Enviado em 13/10/2015 - 05:45h

Olá, está faltando o done para fechar o loop mais interno.

---------------------
O perfeito é desumano porque o humano é imperfeito
(Fernando Pessoa)


3. Re: Estruturas de Controle

Luciano Magrini
lucianomagrini

(usa Linux Mint)

Enviado em 13/10/2015 - 06:20h

gwarah escreveu:

Olá, está faltando o done para fechar o loop mais interno.

---------------------
O perfeito é desumano porque o humano é imperfeito
(Fernando Pessoa)



Olá! Agradeço sua resposta.
Acrescentei a linha "done < ${i}" após a linha com "fi", mas ainda assim não funcionou.
Você percebe alguma outra coisa nesta estrutura que fiz? Estou há dias quebrando a cabeça com ela e nada =(
Muito obrigado.



4. Re: Estruturas de Controle

Luis Henrique Pessoa
gwarah

(usa Ubuntu)

Enviado em 13/10/2015 - 11:04h

Acho que eu já tive este msm problema de outra vez......

Tenta fazer algo assim
-----------------------------------
for arquivo in $(cat lista.txt)
do
echo $arquivo
for linha in $(cat ${arquivo})
do
# extrai os campos da variável $linha com o comando cut ou read
done
done
----------------------------------------

Acho que é melhor.
---------------------
O perfeito é desumano porque o humano é imperfeito
(Fernando Pessoa)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts