2.13 批量重命名和移动
2019-03-15 本文已影响0人
拙言_Coder
用特定的格式重命名当前目录下的图像文件,最简单的方法是使用下面的脚本:
#!/bin/bash
#文件名:rename.sh
#用途:重命名 .jpg 和 .png 文件
count=1
for img in $(find . -iname '*.png' -o -iname '*.jpg' -type f -maxdepth 1); do
new=image-$count.${img##*.}
echo "Renaming $img to $new"
mv "$img" "$new"
let count++
done
输出如下:
$ bash rename.sh
Renaming ./hack.jpg to image-1.jpg
Renaming ./new.jpg to image-2.jpg
Renaming ./next.png to image-3.png
其他执行重命名操作的方法
- 将
*.JPG
更名为*.jpg
rename *.JPG *.jpg
- 将文件名中的空格替换成字符“_”,包括文件夹
rename 's/ /_/g' *
# 's/ /_/g' 用于替换文件名
# * 用于匹配目标文件的通配符
- 转换文件名的大小写
rename 'y/A-Z/a-z/' * #大写转小写
rename 'y/a-z/A-Z/' * #小写转大写
- 将所有的 .mp3 文件移入给定的目录
find . -type f -name "*.mp3" -exec mv {} target_dir \;
- 将所有文件名中的空格替换为字符“_”
find . -type f -exec rename 's/ /_/g' {} \;