Estoy tratando de leer la salida de un comando en bash usando a while loop
.
while read -r line
do
echo "$line"
done <<< $(find . -type f)
La salida que obtuve
ranveer@ranveer:~/tmp$ bash test.sh
./test.py ./test1.py ./out1 ./test.sh ./out ./out2 ./hello
ranveer@ranveer:~/tmp$
Después de esto intenté
$(find . -type f) |
while read -r line
do
echo "$line"
done
pero genera un error test.sh: line 5: ./test.py: Permission denied
.
Entonces, ¿cómo lo leo línea por línea porque creo que actualmente está sorbiendo toda la línea a la vez?
Salida requerida:
./test.py
./test1.py
./out1
./test.sh
./out
./out2
./hello
while read
parte, vea Comprender IFS y las preguntas vinculadas allí.
find
, vea ¿Cómo puedo usar dos comandos bash en -exec del comando find? o Ejecutar la función definida por el usuario en una llamada find -exec (de la cual esta pregunta es principalmente un duplicado).