以递归方式重命名文件夹/目录

时间:2014-05-23 14:03:04

标签: bash exec rename

我想以递归方式重命名文件夹/目录名,并在SO上找到this solution。但是此命令无效

find . -type f -exec rename 's/old/new/' '{}' \;

这是一个正确的命令吗?

1 个答案:

答案 0 :(得分:2)

find . -depth -name '*a_*' -execdir bash -c 'mv "$0" "${0//a_/b_}"' {} \;

-depth开关非常重要,以便在目录本身之前处理目录内容!否则你会遇到问题:)

对于带有空格或其他有趣符号的文件名,100%安全。