将文件名转换为整数

时间:2009-10-31 09:14:06

标签: linux

所以我有:

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

并希望使用shell脚本或linux上的命令使它们全部像下面那样

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

3 个答案:

答案 0 :(得分:2)

如果系统上有rename命令,

rename "s/0(\\d+\\.jpg)/\$1/" *.jpg

答案 1 :(得分:1)

for i in 0*.jpg; do
    mv $i ${i:1}
done

答案 2 :(得分: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机器上运行。