谁能告诉我如何从终端重命名目录中的所有文件夹? 每个文件夹的格式都是“id-namestring”,有没有什么方法可以使用这种模式重命名以删除文件夹名称中“id”之后的所有内容? 例如,如果文件夹名称是“123-abcd&efg”,则应将其重命名为“123”
最佳答案
find top-level-dir -type d -print0 | xargs -0 rename 's/(\d+)-.+/$1/'
这将重命名目录 top-level-dir
中包含的所有目录 (-type d
)。
xargs
用于应对文件列表非常长的情况。 -print0
和 -0
适用于文件名包含空格的情况。
s/(\d+)-.+/$1/
是用于重命名的实际正则表达式。
关于linux - 重命名所有文件夹centos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31697890/