復元する必要があるファイル構造があり、名前に:2fがあります。
たとえば、ディレクトリ名anyname:2fmorename
すべてのディレクトリとサブディレクトリからに変更できるようにしたいです:2f
。_
私は次のようなものが欲しい
find . -name *:2f* -type d -execdir mv{} *_* \;
しかし、確信はありません。
答え1
Perlがインストールされている場合は、rename
次のことができます。
find . -name '*:2f*' -type d -exec rename 's/:2f/_/g' {} \;
もしあなたならまずテストしてみたい次に、以下を追加しますecho
。
find . -name '*:2f*' -type d -exec echo rename 's/:2f/_/g' {} \;
答え2
ありがとうございます。結局、次のように動作します。
find /path -depth -type d -name '*:2f*' -execdir bash -c 'mv -v "$1" "${1//:2f/_}"' _ {} \;