shell for loop con find con nombres de files que contienen espacios

Considere un directory con nombres de files típicos de Microsoft Windows:

 Nuevo documento.txt
 Foo.doc
 Foo - Copy.doc

Me gustaría hacer algo en cada file, como por ejemplo:

 para sendfile en $ (find $ {POLLDIR} -type f -mmin +1 -print0)
 hacer
   echo \ "$ {sendfile} \"
   ls -l "$ {sendfile}"
   y así
   si success_above
   entonces
     mv "$ {sendfile}" "$ {donedir} /".
   fi
 hecho

Tenga en count que no quiero simplemente ejecutar 1 command con "$ {sendfile}" como argumento. Necesito el bucle para hacer la comprobación de errores y otras cosas (como mover "$ {sendfile}" en caso de éxito y iniciar session en la falla).

¿Qué es una construcción "correcta" para escaping / citar los nombres de file de find para que pueda usarlos en una apariencia similar al command ls anterior? Si es posible, me gustaría evitar almacenar los nombres de file en un file temporal uno por uno.

No creo que find -printf '"%p"\n' como lo sugirió triplee en los comentarios a la pregunta [ ¿Cómo uso find cuando el nombre de file contiene espacios? ] funcionaría en un for foo in $(...) do build.

Creo que replace los caracteres "ilegales" con ? me funcionaría en este caso, pero sería muy feo. El ciclo for finalmente procesa los files en $ {POLLDIR} y luego los mueve cuando termina, por lo que la posibilidad de que "Foo bar.txt" colisione con "Foo-bar.txt" es 0 (-ish).

Mi mejor bash hasta ahora es:

 para sendfile en $ (find $ {POLLDIR} -type f -mmin +1 -print | tr '' '?')
 hacer
   ...
 hecho

¿Alguna sugerencia más limpia?

Usa find ... -print0 | while IFS= read -d '' find ... -print0 | while IFS= read -d '' constructo:

 find ${POLLDIR} -type f -mmin +1 -print0 | while IFS= read -r -d '' -r sendfile; do echo "${sendfile}" ls -l "${sendfile}" and-so-on if success_above then mv "${sendfile}" "${donedir}/." fi done 

El -d '' establece el carácter de fin de línea en \0 que es lo que separa cada file encontrado por find -print0 y el IFS= es necesario para trabajar también con files que contienen líneas nuevas. El -r asegura que las barras diagonales inversas no escapen caracteres (por lo que \t por ejemplo, coincide con una barra invertida real seguida de una t y no de una pestaña).