Bash: working with filenames containing spaces

At times, I'd like to perform an action against all files in a directory like this:


for i in `find . -type f`
do
cp "${i}" "${i}.bak"
done


This fails when filenames contain spaces, as bash uses whitespace, tab and LF as the default delimiter. Solution? Do this:


SAVEIFS=$IFS
IFS=$(echo -en "\n\b")


#bash

ワオ!と言っているユーザー

×
  • ブログルメンバーの方は下記のページからログインをお願いいたします。
    ログイン
  • まだブログルのメンバーでない方は下記のページから登録をお願いいたします。
    新規ユーザー登録へ
コメントの投稿にはメンバー登録が必要です。
ブログルメンバーの方は下記のページからログインをお願いいたします。
ログイン
まだブログルのメンバーでない方は下記のページから登録をお願いいたします。
新規ユーザー登録へ