在开头重命名文件名

zel*_*o_a 0 bash shell file-rename

我想使用bash重命名多个文件.
如果文件名包含01我想要附加1在文件名的开头,依此类推.

文件名称:

Old Movie-01.mp4
New Movie-02.mp4
Clip From-before-03.mp4
Clip Old-before-04.mp4  
Run Code Online (Sandbox Code Playgroud)

期望的结果:

1 Old Movie-01.mp4
2 New Movie-02.mp4
3 Clip From-before-03.mp4
4 Clip Old-before-04.mp4
Run Code Online (Sandbox Code Playgroud)

Pes*_*The 5

for file in *.mp4; do
    [[ $file =~ 0*([0-9]+)\.mp4$ ]] && mv -- "$file" "${BASH_REMATCH[1]} $file"
done
Run Code Online (Sandbox Code Playgroud)

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