Normalmente, a maneira comum de fazer uma iteração de arquivos e, em seguida, executar alguma ação neles é com o loop for no Bash.
for name in $(find . -type f | sort); do file "$name"; done
O problema é que ele se divide em espaços em branco, o que não é o que realmente queremos, queremos que ele se divida apenas em nova linha. Usando um enquanto laço + ler você pode evitar o problema todos juntos e ter um pipeline cleaner.
find . -type f | sort | while read name; do file "$name"; done
Mencionado originalmente em http://www.linuxjournal.com/content/bash-quoting#comment-345464