存在一个目录,该目录包含多层子目录。在这些目录下,有一组文件,其名称包含一个常用单词,例如.cc
.如何将.cc
这些文件名称中的 替换为.cpp
?
答案1
答案2
在 zsh 中:
autoload zmv
zmv '(**/)(*).cc' '$1$2.cpp'
在 bash ≥4 中:
for x in **/*.cc; do mv "$x" "${x%.cc}.cpp"; done
在任何外壳中:
find -name '*.cc' -exec sh -c 'for x; do mv "$x" "${x%.cc}.cpp"; done' _ {} +
更简单,并且可以移植到旧系统,但速度稍慢:
find -name '*.cc' -exec sh -c 'mv "$0" "${0%.cc}.cpp"' {} \;