Eu estou tentando ler a saída de um comando no bash usando a while loop
.
while read -r line
do
echo "$line"
done <<< $(find . -type f)
A saída que eu recebi
ranveer@ranveer:~/tmp$ bash test.sh
./test.py ./test1.py ./out1 ./test.sh ./out ./out2 ./hello
ranveer@ranveer:~/tmp$
Depois disso eu tentei
$(find . -type f) |
while read -r line
do
echo "$line"
done
mas gerou um erro test.sh: line 5: ./test.py: Permission denied
.
Então, como eu leio linha por linha, porque acho que atualmente ela está consumindo toda a linha de uma só vez.
Saída necessária:
./test.py
./test1.py
./out1
./test.sh
./out
./out2
./hello
find
, consulte Como posso usar dois comandos bash no comando -exec of find? ou Executando a função definida pelo usuário em uma chamada find -exec (da qual essa pergunta é uma duplicata).