在一个目录中,我有许多文件,如下所示:
Galaxy100-[0025-CL3.single.bed].bed
我想将其更改为:
0025-CL3.single.bed
我尝试过这个rename 's/Galaxy[0-9] - \[//' *
,但它没有改变任何东西。
如何重命名这些文件?
答案1
您的正则表达式与文件名中的模式不匹配。要匹配至少一个数字,您需要使用[0-9]+
(您也可以使用\d
匹配数字);您的模式将只匹配 1 位数字。您的示例文件名在 周围没有空格-
,但您在模式中有空格。而且您没有做任何事情来删除]
末尾的 。尝试:
rename 's/Galaxy\d+-\[(.*)\].*/$1/' Galaxy*