看到你提问时间是10月22日。我估计你的工作早就做完了。我回答也没什么意思。
不过,我觉得你这个任务还是可以尝试一下的。
bash下不同的命令组合能完成相同的任务。很多高手能使用一句话命令one-liner。
我自己远远没达到那种水平。所以在此分享一下反映我当前水平的初级脚本, 希望有幸能帮助朋友们解决小问题。
#使用方法:
把要处理的一个或多个文件放到任意一个目录下
执行脚本,拖动目录到终端,回车继续执行即可。
脚本:
#!/bin/bash
#dump.00-dump.63
DELIM="'"
N=2
echo "Please pull the folder to me."
read storepath1
storepath1=`echo "$storepath1" | cut -d "$DELIM" -f $N`
echo
cd "$storepath1"
for m in `ls .`
do
num1=$m;num1=${num1##*.};num1=${num1##0};num1=$[num1+64]
printf -v num2 '%03d\n' $num1;
echo rename $m as ${m%%.*}.$num2
mv $m ${m%%.*}.$num2
done
执行输出:
./rename.sh
Please pull the folder to me.
'/文件升序重命名/files'
rename dump.00 as dump.064
rename dump.01 as dump.065
rename dump.02 as dump.066
rename dump.03 as dump.067
rename dump.04 as dump.068
rename dump.05 as dump.069
>>>
rename dump.53 as dump.117
rename dump.54 as dump.118
rename dump.55 as dump.119
rename dump.56 as dump.120
rename dump.57 as dump.121
rename dump.58 as dump.122
rename dump.59 as dump.123
rename dump.60 as dump.124
rename dump.61 as dump.125
rename dump.62 as dump.126
rename dump.63 as dump.127
for file in *00*;do name=` echo $file | tr '[00-20]' '[00-99]'`;mv $file $name 2>/dev/null;done