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