在 Ubuntu 上使用模式一次重命名多个文件

在 Ubuntu 上使用模式一次重命名多个文件

我有大约 300 个文件名为

some_name_123456789.zip
another-name2_987654321.zip
something(1)_123454321.zip
[2]something_987656789.zip

我需要将它们全部重命名为

ds_123456789.zip
ds_987654321.zip
ds_123454321.zip
ds_987656789.zip

我怎样才能做到这一点?

答案1

您可以使用rename命令行实用程序执行此操作。要执行所需的操作,您需要一个简单的正则表达式:

rename "s/.+_/ds/g" files

.+表示直到(在此上下文中)最后一个下划线 ( _) 字符为止的所有内容(因此这适用于多个下划线,如第一个示例中所述)。这要求下划线前至少有一个字符;如果您的文件名可能像_20131012.zip,请改用.*。因此,这个三字符字符串(.+_.*_)将匹配直到包括文件名中的最后一个下划线。表示s/old/new/s用新字符串 ( ds) 代替旧字符串。这g意味着G在这种情况下可能没有必要。

答案2

或者使用跨平台重命名器

$ renamer --regex --find '.+_' --replace 'ds' *

相关内容