Linux 批量处理(复制、移动、重命名)文件

 

 1 #!/bin/bash
 2 # cp、mv、rename 批量操作指定格式的文件,并按增量数字进行重命名
 3 # for img in *.jpg *.png
 4 count=1
 5 for img in ./photo/*.jpg # 指定要遍历的路径、文件格式
 6 do
 7     new=$count.jpg    # 将变量 count + .jpg 拼接成为新的文件名,并赋值为变量 new;即文件名格式为 xx.jpg ,也可在在变量前添加前缀 image$count.jpg,则新的文件名格式为 imagexx.jpg
 8     cp "$img" ./Picture/"$new" 2> ./mv_null    # 操作命令cp、mv、rename 可替换 ;如果mv的过程中出错,错误信息不显示, “2>”  错误信息重定向保存到 null 文件中
 9 if [ $? -eq 0 ];    # "$?"  检查上一个执行命令成功与否,如果成功则返回0 
10 then
11     echo "renaming $img to $new"
12     let count++
13 fi
14 if (($count > 3000)) # count 控制递增到 3000 时就退出脚本
15 then
16     echo "cp end $count"
17     break
18 fi
19 done

 

posted @ 2022-09-09 14:09  Snooper  阅读(1649)  评论(0编辑  收藏  举报