shell遍历多个文件夹并进行批量修改文件名

问题:将图片名中的ing_变为0。

当前目录下:$ ls

pic,change_name.sh

pic/

     |__kk1/

               |__img_001.jpg 

               |__img_002.jpg

     |__vv2/

               |__img_005.jpg 

               |__abc_002.jpg

   解决:

在change_name.sh中写入如下内容:

#!/usr/bin/env sh
cd pic
DIR=`ls .`
for dir in ${DIR};do

  fi [ -d ${dir}];then

    cd $dir
    rename 's/img_/0/' *.jpg
    cd ..
  fi
done

运行:sh change_name.sh

结果:

pic/

     |__kk1/

               |__0001.jpg 

               |__0002.jpg

     |__vv2/

               |__0005.jpg 

               |__abc_002.jpg

原文地址:https://www.cnblogs.com/beihaidao/p/7429387.html