2009-10-31 61 views
0

所以我必须:转换文件名成整数

01.JPG 02.JPG 3.JPG 4.JPG 05.jpg

,并希望使他们都喜欢下面使用shell脚本或Linux上的命令

1.JPG 2.JPG 3.JPG 4.JPG 5.JPG

+0

例如,你可能有* 06.jpg和6.jpg? – pavium 2009-10-31 09:21:02

+0

nope:)............. – steven 2009-10-31 23:25:00

回答

2

如果有命令rename您的系统上,

rename "s/0(\\d+\\.jpg)/\$1/" *.jpg 
1
for i in 0*.jpg; do 
    mv $i ${i:1} 
done 
1

要删除任何从一开始就零的个数和防止碰撞:

for old in 0*.jpg; do 
    new=$(echo ${old} | sed 's/^00*//') 
    if [[ ! -f ${new} ]] ;then 
     mv ${old} ${new} 
    else 
     echo "${old} conflicts with ${new}" 
    fi 
done 

当然,rename是一个更好的选项如果可用。为了完整性,我只是将它包括在内,以防您在没有该工具的UNIX框上运行。