我一直在玩 cygwin 中重命名工具的 perl 实现,最终通过从 cpan 安装使其工作。
我已经很长时间没有玩这些东西了,所以我对我的正则表达式东西有点生疏了。
基本上我只是想重命名一堆表单的文件夹
[2022-10-10] This is a Test - This is a Test (some stuff) [393933939339]
或者
[2022] This is a Test - This is a Test (some stuff) [393933939339]
并将开头处的内容移至[]
末尾,这样看起来就像
This is a Test - This is a Test (some stuff) [393933939339] [2022-10-10]
或者
This is a Test - This is a Test (some stuff) [393933939339] [2022]
我已经弄清楚如何使用位置参数来做到这一点,但我很难使用模式匹配来做到这一点[]
rename -n 's/^(.{12})(.*)$/$2 $1/'
将为具有完整日期的文件夹执行此操作,显然,但不适用于仅包含一年的文件夹。理想情况下,我想要一个表达式来处理所有这些。
我认为这可能会因为 [] 被视为运算符而变得复杂,因此可能需要以某种方式转义。
任何帮助表示赞赏。