如何删除一个文件夹中 195 个不同文件的部分名称?

如何删除一个文件夹中 195 个不同文件的部分名称?

我在另一个文件夹中有 195 个文件。每个文件的描述前面都有数字和字母的组合,用 [] 括起来。例如:[12hjk534m45] description

是否可以用命令删除括号及其内容?

rename我希望使用命令和语法来实现它[abc]
该命令是什么样子的?

答案1

rename -n 's:^\[.*\](.*):$1:' *

[02Rarev]QgysLJF renamed as QgysLJF
[0rwCtGh]cGdxnWH renamed as cGdxnWH
[1B2CMhq]M91oPHh renamed as M91oPHh
[1BMD7N3]0nYVP0b renamed as 0nYVP0b
[1MjkCZu]WBPYXKG renamed as WBPYXKG
[2HoSmD7]aLWLmpf renamed as aLWLmpf

^\[.*\]从文件开头开始匹配^括号内的所有内容,括号内的内容后面跟着任何内容(.*)。因此,(.*)我们只需在括号后捕获一组仅包含文件描述的内容,然后在s/.../REPLACEMENT/重命名命令的替换部分中,我使用以下方法将所有文件名替换为描述部分:反向引用捕获组的($1参考第一个捕获组的索引(.*))。

您还可以使用匹配字符类的重命名:

rename -n 's:^\[([0-9A-Za-z]*)\](.*):$1:' *

如何创建具有不同名称和不同扩展名的多个文件?

答案2

有一个非常棒的程序可以做这样的事情,叫做 GPRename,它位于软件中心。

(以下是有关命令的信息:

http://tips.webdesign10.com/how-to-bulk-rename-files-in-linux-in-the-terminal

看起来你想要的东西就在那里,但是你必须弄清楚..或者只是使用 GPRename!

这里也有很好的解释:如何使用命令行轻松地重命名文件?

相关内容