场景一


给这些文件都加上.png后缀

#!/bin/bashfor i in *;domv "$i" "$i.png";done 




场景二


给某些文件按某种规定重命名,如依照1,2,3,4..命名,保留原格局

cd imagedeclare -i j=1 for i in * ;do #echo $i; x=${i##*.}#echo $j.$xmv "$i" "$j.$x";j+=1done

注:

  • Shell中实现整数自增的几种办法示例,此处用于申明是数字类型的declare -i必须增加,否则会认为是字符串;必须j+=1,而不能用j++,否则后果会为拼接字符串
  • shell获取文件扩展名




场景三


删除某些反复文件;如下图,想将所有带(x)的全副删掉

#!/bin/bashfor i in * ;do#echo ${i:1:2}; #最罕用的字符串截取办法,输入前两个字符if [[ $i =~ '(' ]]then    echo $i;    rm "$i";    #如果用rm $i会分为两局部:    #ia_800000110 (2).jpg    #rm: ia_800000110: No such file or directory    #rm: (2).jpg: No such file or directoryfidone


参考:

Shell判断字符串是否蕴含小结

Shell解决带空格的文件名的办法

shell 如何判断某个文件名以某个字符结尾

本文由mdnice多平台公布