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

Xse*_*360 3 linux rename ubuntu

我有大约 300 个文件名

some_name_123456789.zip
another-name2_987654321.zip
something(1)_123454321.zip
[2]something_987656789.zip
Run Code Online (Sandbox Code Playgroud)

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

ds_123456789.zip
ds_987654321.zip
ds_123454321.zip
ds_987656789.zip
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

nog*_*erl 9

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

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

.+表示直到(在这种情况下)最后一个下划线 ( _) 字符为止的所有内容(因此这适用于多个下划线,如您的第一个示例中所述)。这要求下划线前至少有一个字符;如果您可能有类似 的文件名_20131012.zip,请.*改用。所以这个三字符的字符串 ( .+_or .*_) 将匹配所有内容,包括文件名中的最后一个下划线。手段小号ubstitute新的字符串()旧字符串。该方法叶形,在这种情况下,可能没有必要。s/old/new/dsg