leitura de entrada do usuário em loop com redirecionamento de entrada e saída

1

Este é o meu código:

while IFS=',' read a b c; do
     read input
     echo $input
done 3<&0 < input.csv > output.txt

Eu cuidei do redirecionamento de entrada redirecionando por meio do pipeline. Mas ainda assim, quando executo o código acima, o controle não para a entrada.

Por quê?

    
por Menon 07.04.2015 / 14:57

1 resposta

4

É porque seu fluxo de entrada está alimentando o read . Você está quase certo, então talvez seja um erro de digitação (você acabou de esquecer de dar para o direito FD para seu segundo read ):

while IFS=',' read a b c; do
  read input <&3
  echo $input
done 3<&0 < input.csv >> output.txt
    
por 07.04.2015 / 15:16