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