作業ノート

様々なまとめ、雑感など

半角スペースを含むファイルの対応

findコマンドなどでファイルの一覧を取得後、各ファイルに対して処理を行う時、対象ファイルにスペースがあるとそこでパスが区切られ、結果ファイルが存在しない、などのエラーになる。

それを回避するには、スクリプトを実行する際に一時的に区切り文字を変更する。カッコをつけるのは、区切り文字の変更範囲を限定するため。

(
IFS=$'\n'
for f in `find ./ -type f -name *.*~`; do
    rm -f $f    
done
)

参考