すべてのディレクトリに移動するこのコマンドがあり、そこですべてのファイルに対していくつかのコマンドを実行します。
STDIR=$PWD;
for dir in $(find . -type d 2>&-); do
cd "$dir";
for file in $(find * -prune -type f 2>&-); do
command "$file";
done;
cd "$STDIR";
done
ただし、ファイルまたはディレクトリの名前にスペースが含まれていると問題が発生します。どうすれば修正できますか?
この質問に答えを適用しようとすると、この疑問が生じます。
編集: 良い解決策もこのコメントに表示されます。スペースの問題を解決するには、追加します
IFS=$'\n'
上記のコードの最初の行の後、および
unset IFS
後done
。