下面这段代码将当前目录下所有 jpg 或 png 格式的文件进行有规律的批量命名:
[Bash shell] 纯文本查看 复制代码 #!/bin/bash
count=1
for img in *.[jJ][Pp][Gg] *.[Pp][Nn][Gg]
do
new=image-$count.${img##*.}
mv "$img" "$new" 2> /dev/null
if [ $? -eq 0 ];
then
echo "Renamimg $img to $new"
let count++
fi
done
运行输出:# sh rename.sh
Renamimg 123.jpg to image-1.jpg
Renamimg 124.JPG to image-2.JPG
Renamimg 125.JpG to image-3.JpG
Renamimg 223.png to image-4.png
Renamimg 224.PNG to image-5.PNG
Renamimg 225.pNg to image-6.pNg 在上面的代码中,for 循环里的中括号包含了图片格式后缀名的每个字母可能的大小写格式,这样增加了兼容性。另外,${img##*.} 表达式是获得文件的后缀名,详细可参考:http://www.groad.net/bbs/read.php?tid-6715.html |