在目录名称中查找和替换字符串

Bil*_*ll 7 find rename

我有一个必须恢复的文件结构,它的名称中包含 :2f

例如目录名 anyname:2fmorename

我希望能够在所有目录和子目录中更改:2f_

我想像

find . -name *:2f* -type d -execdir mv{} *_* \;
Run Code Online (Sandbox Code Playgroud)

但我无法确定。

hsc*_*hou 6

如果你安装了 Perl,rename你可以这样做:

find . -name '*:2f*' -type d -exec rename 's/:2f/_/g' {} \;
Run Code Online (Sandbox Code Playgroud)

如果你想先测试它然后添加一个echo

find . -name '*:2f*' -type d -exec echo rename 's/:2f/_/g' {} \;
Run Code Online (Sandbox Code Playgroud)