Regex 重命名文件并将括号添加到电影年数

Regex 重命名文件并将括号添加到电影年数,regex,rename,Regex,Rename,因此,基本上,我试图实现的是重命名我的电影文件夹名称,并将括号添加到年份(也用空格替换点) 我正在对Regex使用rename命令 这就是电影名称的含义: La.chambre.des.officiers.2001 The.2nd.2020 The.Song.of.Names.2020 这就是我所希望的: La chambre des officiers (2001) The 2nd (2020) The Song of Names (2020) 我使用了以下正则表达式: Match: (.

因此,基本上,我试图实现的是重命名我的电影文件夹名称,并将括号添加到年份(也用空格替换点)

我正在对Regex使用
rename
命令

这就是电影名称的含义:

La.chambre.des.officiers.2001
The.2nd.2020
The.Song.of.Names.2020
这就是我所希望的:

La chambre des officiers (2001)
The 2nd (2020)
The Song of Names (2020)
我使用了以下正则表达式:

Match: (.+ )(\d\d\d\d)

Replace: \1(\2)
最后,这是我的重命名命令

rename -v 's/(.+ )(\d\d\d\d)/\1(\2)/'
不幸的是什么也没发生

我能做些什么来修理它谢谢


PS:我正在寻找纯CLI解决方案,而不是任何GUI解决方案

下面是一个如何通过链接regex101.com来尝试解决这个问题的示例

这将取代周期

Match = '/[\s\.]/m';
Replace = ' '

这将为我们的一年划上括号

Match = /(.)(\d\d\d\d)/gm;
Replace = `\1(\2)`;

我目前不在*nix机器上,因此无法尝试此功能

但要在CLI中执行此操作

像这样使用
rnm

rnm-y-rs'[Regex]'[FileLocation]

其中
-y
将确认所有更改,无需询问
-rs
替换字符串命令 “[Regex]”是您的Regex语句 “[FileLocation]是所有目录所在的位置。使用。/*适用于所有人

例如:
rnm-y-rs's/(.+)(\d\d\d\d)/\1(\2)/'./*

使用下面的链接作为参考


谢谢您的回答..但是我如何将它与
重命名
命令集成呢?我已经更新了我的答案。让我知道你的答案