我正在尝试perl-rename
在Arch Linux上根据正则表达式重命名许多文件。我的文件夹中包含大量遵循以下格式的文件:
Title of File [Year] - quality.filetype
其中“年份”是4位数字,质量可以是720p,1080p,DVD等中的任何一个,文件类型可以是mp4,mkv等中的任何一个。
我正在尝试重命名文件以遵循以下格式:
[Year] Title of File (quality).filetype
我已经开发了此正则表达式以匹配文件的相关部分:
/(.+) \[(\d{4})\](?: - (.+)\.+)*/
经过研究后,我开发了此命令来尝试进行重命名(-n
一旦知道它会起作用,我将删除它):
perl-rename -n 's/(.+) \[(\d{4})\](?: - (.+)\.+)*/[$2] $1 ($3)./'
当我运行此命令时,perl-rename不会输出任何内容,也不会退出。谁能帮我发现错误?
我没有指定要重命名的文件。在命令末尾添加了一个星号:
perl-rename -n 's/(.+) \[(\d{4})\](?: - (.+)\.+)*/[$2] $1 ($3)./' *
此外,我引用捕获组的方式不正确。引用捕获组就像是做了\1
,\2
等等,而不是$1
,$2
等工作表达看起来像:
perl-rename -n 's/(.+) \[(\d{4})\](?: - (.+)\.+)*/[\2] \1 (\3)./' *
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句