Rename命令利用Perl正则表达式修改文件名。综合运用findrenamemv,可以完成很多操作。
#!/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匹配所有的JPEGPNG文件。
注,$(img##*.)为贪婪操作匹配,对当前循环中的文件名进行解析并获得文件扩展名。具体参照<<lnux脚本攻略>>2.11.2章节。