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)
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是一个特殊的数组,其中匹配来自[[ ... =~ ... ]].