[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Dica: while read
From: |
Carlos Felicio |
Subject: |
Dica: while read |
Date: |
Fri, 04 Nov 2005 10:13:49 -0200 |
User-agent: |
Mozilla Thunderbird 1.0.2 (X11/20050317) |
Pessoal,
Ha algum tempo atrás me passaram uma dica:
while read var1 var2; do
<comandos>
read varErro
done < arquivo
Esse loop é bom pois voce consegue separar os campos direto no loop, e
ele faz a leitura do arquivo uma linha por vez. O problema que encontrei
foi ao tentar usar um comando read dentro do loop: O script simplesmente
"passava reto" pelo comando (nao lia a varErro), ignorando o input que o
usuario precisava dar.
Depois de quebrar a cabeça, encontrei a solução e a explicação: Quando
se usa o read no loop, ele redireciona o input para o arquivo, ignorando
o input do usuario. Para corrigir:
while read var1 var2; do
<comandos>
read varErro <&3
done 3<&1 <arquivo
Ou seja, sao poucas modificações. Se alguem quiser ler o topico que
encontrei a solução:
http://groups.google.com/group/comp.unix.shell/browse_thread/thread/661d9cd611638d49/8d3c98e09feb7f12#8d3c98e09feb7f12
Falow
Carlos
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Dica: while read,
Carlos Felicio <=