Rename 命令利用 Perl 正则表达式修改文件名。综合运用 find 、 rename 和 mv ,可以完成很多操作。
#!/bin/bash
#rename.sh
#rename .jpb and .png files
;count=1
;for img in *.jpg *.png
;do
;new=p_w_picpath-$count.${img##*.}
;mv "$img" "$new" 2>/dev/null
; if [ $? -eq 0 ];
;then
; echo "Renameing $img to $new"
; let count++
;fi
;done
工作原理:使用 for 循环对所有扩展名为 .jpg 和 .png 的文件名进行迭代,利用通配符 *.jpg 和 *.png 匹配所有的 JPEG 和 PNG 文件。
注, $(img##*.) 为贪婪操作匹配,对当前循环中的文件名进行解析并获得文件扩展名。具体参照 <<lnux 脚本攻略 >> 的 2.11.2 章节。