重命名具有更改模式的文件

时间:2017-01-05 09:57:31

标签: bash rename

我想用bash重命名bash中的不同文件并找到这个选项:

rename 's/.2007/(2007)/g' *.*  

使用此模式我可以将名称中的“.2007”重命名为“(2007)” - >这正是我想要做的。

下一步:
我希望自动化这个,因为我有1995年至2017年的文件。这是可能的:

rename 's/.2007/(2007)/g' *.*  
rename 's/.2008/(2008)/g' *.*  
rename 's/.2009/(2009)/g' *.*  

但实际上,还有另一种解决方案吗?

我的文件被命名为(它们的长度不一样......):

FILENAME.ANOTHERFILENAME.2007.jpg  
FILENAME.2007.jpg  
FILENAME.ANOTHERFILENAME.SOMETIMESONEMORE.2007.jpg  

1 个答案:

答案 0 :(得分:1)

使用Perl重命名:

 rename -n 's/.([1-2][0-9]{3})/($1)/' *.*

这会将所有文件重命名为1000到2999.如果一切正常,请删除-n