通过匹配目录中的变量单词来重命名多个文件

通过匹配目录中的变量单词来重命名多个文件

我的目录中有多个文件,我想重命名它并且仅从文件名中删除匹配的单词。

示例文件:

8 - build a php mvc application - finished (part 8_9).mp4
9 - build a php mvc application - database (part 9_9).mkv

这两个文件具有不同的扩展名和我想要删除的匹配部分。

我想删除这部分,(part 9_9)无论他们的数量有多少。

答案1

如果要删除字符串(part 8_9)但对于任何数字对,可以使用以下rename命令(有时称为prename):

rename -n 's/\s*\(part \d+_\d+\)//' *part*

此版本还删除了模式之前的所有空格,尽管您没有请求,但这会使文件名看起来更好。\s*如果您确实不想执行此操作,请忽略模式中的前导部分。

当您确定它按预期工作时,将“告诉我会发生什么”标志更改-n-v甚至完全删除它。


请注意,有两个相似但不同的命令,称为rename.我在这里使用的标识如下:

rename
Usage: rename [-v] [-n] [-f] perlexpr [filenames]

相关内容