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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM