在 Linux 中使用重命名强制重命名文件夹,从而强制合并它们

在 Linux 中使用重命名强制重命名文件夹,从而强制合并它们

在 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_*/*

相关内容