在 Linux 中使用重命名强制重命名文件夹,从而强制合并它们
我有类似的文件夹(随机示例),其中包含文件(可以相同)。
- b_001 c_001
- b_002 c_002
- b_003 c_003
- b_004 c_004
- (等等)
使用重命名 rename s/b_//' * and rename s/c_//' *
失败导致目录不为空。
如何使用重命名强制重命名和合并多个文件夹?
答案1
perl-rename 将正则表达式应用于所提供的整个路径,而不仅仅是文件名,因此你可以“重命名”文件,而不是文件夹,这将相应地移动文件。(移动和重命名在后台是完全相同的操作。)
例如:
rename -v 's/b_//' b_*/*
rename -v 's/c_//' c_*/*
perl-rename 应该会根据需要自动创建文件夹,但您也可以手动预先创建它们,或者您可以在第一轮中只重命名“b_”文件夹,然后重命名所有“c_”和“d_”文件。因此,如果上述方法不起作用,通常会这样做:
rename -v 's/b_//' b_*
rename -v 's/c_//' c_*/*