我想用模式重命名 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
最佳答案
随着 Perl 的重命名:
rename -n 's/.([1-2][0-9]{3})/($1)/' *.*
这会将所有文件从 1000 重命名为 2999。如果一切看起来都很好,请删除 -n
。
关于bash - 使用不断变化的模式重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41481934/