bash スクリプトを開始していますが、空白のファイル名を処理できません。ここで私の問題に関する他の質問を検索しました。
SINGLE行で引用符で囲まれたファイル名を出力する方法は?
私のスクリプトでは、すべてのディレクトリを取得する必要があり、それぞれが何らかの作業を行っているために終了します。したがって、私のスクリプトのスケルトンは次のとおりです。
for directory in `find "$DIR" -type d`
do
# ... some work ...
done
このスクリプトは、空白のファイル名では機能しません。そこで、find を exec と組み合わせて使用してみました。これはエレガントで簡単な解決策のようですが、何も変わりませんでした。より正確には、私は試しました:
(I) find "$DIR" -type d -exec echo -n '"{}" ' \;
(II) find "$DIR" -type d -exec echo -n '"{}" ' +
コマンド -exec を使用する前に、それについて何か読んだことがありますが、まだはっきりしていないことがあります。
- '"{}" ' \;
- '"{}" ' +
- 空白のファイル名に対してもスクリプトを修正するにはどうすればよいですか?