我有许多这种格式的文件:
##.##——文件名.mp4
我想将它们重命名为:
s###e###.mp4
这就是我想出的:
重命名 -n "s/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/"
当我测试它时它有效http://regexr.com/但是当我在 Ubuntu 12.04 安装上运行命令时,所有文件都被重命名为se.mp4
因此,看起来这些组被忽略了或没有插入,或者类似情况。我是否忽略了一些显而易见的事情,还是发生了其他事情?
我最终使用了 pyRenamer,效果非常好,但我仍然想知道为什么rename
它不能正常工作。
欢呼并感谢您给予我的任何帮助。
答案1
我认为也许你使用双引号允许 shell 扩展$1
并$2
$ rename -nv "s/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/" *.mp4
12.34 File name.mp4 renamed as se.mp4
而重命名表达式用单引号引起来
$ rename -nv 's/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/' *.mp4
12.34 File name.mp4 renamed as s12e34.mp4