批量重命名和移动文件
count=1;
for img in *.jpg *.png
do
new=image-$count.${img##*.}
mv "$img" "$new" 2> /dev/null
if [ $? -eq 0 ];
then
echo "Renaming $img to $new"
let count++
fi
done
${img##*.} 用于获取文件名后缀(png或jpg)
*.jpg
可以改成 *.[jJ][pP][gG]以匹配字母大写的情形。
let count++用于每次循环把编号加一
2> /dev/null 舍弃错误信息
如果最近执行的命令没有错误那么$? = 0
利用rename命令批量重命名文件
rename ‘s/ /_/g’ *.txt
批量把文件名中的空格替换为下划线