重命名所有文件夹centos
Renaming all the folders centos
谁能告诉我如何从终端重命名目录中的所有文件夹?
每个文件夹都是 "id-namestring" 的格式,有什么方法可以使用此模式重命名以删除文件夹名称中 "id" 之后的所有内容?
例如,如果文件夹名称为“123-abcd&efg”,则应将其重命名为“123”
find top-level-dir -type d -print0 | xargs -0 rename 's/(\d+)-.+//'
这将重命名目录 top-level-dir
.
中包含的所有目录 (-type d
)
xargs
用于应付文件列表很长的情况。 -print0
和 -0
适用于文件名包含空格的情况。
s/(\d+)-.+//
是用于重命名的实际正则表达式。
如果您觉得合适,可以使用 Perl 表达式。
在此 link 中,您可以找到使用 this perl 表达式重命名命令的概述
谁能告诉我如何从终端重命名目录中的所有文件夹? 每个文件夹都是 "id-namestring" 的格式,有什么方法可以使用此模式重命名以删除文件夹名称中 "id" 之后的所有内容? 例如,如果文件夹名称为“123-abcd&efg”,则应将其重命名为“123”
find top-level-dir -type d -print0 | xargs -0 rename 's/(\d+)-.+//'
这将重命名目录 top-level-dir
.
-type d
)
xargs
用于应付文件列表很长的情况。 -print0
和 -0
适用于文件名包含空格的情况。
s/(\d+)-.+//
是用于重命名的实际正则表达式。
如果您觉得合适,可以使用 Perl 表达式。
在此 link 中,您可以找到使用 this perl 表达式重命名命令的概述