Linux サーバー上の一連のファイルの名前を変更しようとしています。必要なファイルを見つけるのは簡単です。
find . -type f -wholename \*.mbox
もちろん、mbox ファイルであるため、名前にスペースが含まれているものもあるため、次のようになります。
find . -type f -wholename \*.mbox -print0
ファイルの名前を変更できるように、xargs にパイプしています。
find . -type f -wholename \*.mbox -print0 | xargs -0 -I{} echo ${"{}"/.mbox/}
INBOX.mbox を指定すると、エコーは INBOX のようなものを返すはずですが、bash は次のように文句を言います。
bash: ${"{}"/.mbox/}: bad substitution
どうすればこれを修正できますか? 可能であれば、それを find/xargs ソリューションに保持して、その周りに多くのループ構造を追加しないようにしたいと思います。