bash:空白を含むファイル名

次のように、全てのファイルに対してなにかの処理を行いたいとします:

for i in `find . -type f`
do
ls ${i}
done

この場合、hello world.txtといったようにファイル名に空白が入っているとうまく動きません。 デフォルトのIFS(区切り文字)が空白を含むため、

ls hello
ls world.txt

といった具合に解釈されてしまうためです。

対策ですが、

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for i in `find . -type f`
do
ls ${i}
done
IFS=$SAVEIFS

のようにIFSを一旦、空白を含まないものに差し替えるとうまくいきます。