重命名所有文件夹centos

时间:2015-07-29 10:28:42

标签: linux terminal centos directory

有谁能告诉我如何从终端重命名目录中的所有文件夹? 每个文件夹的格式为" id-namestring",有没有办法重命名使用此模式删除" id"之后的所有内容。在文件夹名称? 例如,如果文件夹名称是" 123-abcd& efg"它应该重命名为" 123"

2 个答案:

答案 0 :(得分:1)

find top-level-dir -type d -print0 | xargs -0 rename 's/(\d+)-.+/$1/'

这将重命名目录-type d中包含的所有目录(top-level-dir)。

xargs用于处理很长的文件列表。 -print0-0适用于文件名包含空格的情况。

s/(\d+)-.+/$1/是用于重命名的实际正则表达式。

答案 1 :(得分:1)

如果您对此感到满意,可以使用Perl表达式。

在此链接中,您可以找到带有this perl表达式

的重命名命令的概述