重命名开头的文件名

Rename file names at the beginning

我想使用 bash 重命名多个文件。
如果文件名包含 01 我想在文件名开头附加 1 等等。

文件名:

Old Movie-01.mp4
New Movie-02.mp4
Clip From-before-03.mp4
Clip Old-before-04.mp4  

想要的结果:

1 Old Movie-01.mp4
2 New Movie-02.mp4
3 Clip From-before-03.mp4
4 Clip Old-before-04.mp4
for file in *.mp4; do
    [[ $file =~ 0*([0-9]+)\.mp4$ ]] && mv -- "$file" "${BASH_REMATCH[1]} $file"
done

BASH_REMATCH 是一个特殊的数组,其中来自 [[ ... =~ ... ]] 的匹配项被分配给。