使用 linux bash 脚本创建递归文件夹



我以前问过一次这个问题,它被标记为需要更多详细信息。好吧,这里非常详细。

目标是拥有一个创建文件夹的脚本,如下所示:

主要

在该文件夹中创建一个名为">
  • main"的单个文件夹后,它将创建 6 个分别以数字和字母命名的"a"文件夹"1a 2a 3a 4a 5a 6a">

  • 创建这 6 个"a"文件夹
  • 后,它将在这 6 个"a"文件夹中的每个文件夹中创建 6 个"b"文件夹。所以每个"a"文件夹将包含"1b 2b 3b 4b 5b 6b">

  • 创建这 6 个"b"文件夹
  • 后,它将在这 6 个"b"文件夹中的每个文件夹中创建 6 个"c"文件夹。因此,它们都将包含文件夹"1c 2c 3c 4c 5c 6c">

  • 之后,它将在每个"c"文件夹中创建 6 个"d"文件夹。因此,"c"文件夹将包含"1d 2d 3d 4d 5d 6d">

  • 之后,它将在每个"d"文件夹中创建 6 个"e"文件夹。所以'd'文件夹将包含"1e 2e 3e 4e 5e 6e">

  • 之后,它将在每个"e"文件夹中创建 6 个"f"文件夹。所以'e'文件夹将包含"1f 2f 3f 4f 5f 6f">

  • 所有"f"文件夹都将为空

最终结果应该是:

  1. 一个包含 6 个"a"文件夹的"主"文件夹
  2. 所有"a"文件夹
  3. 应有 6 个"b"文件夹
  4. 所有"b"文件夹
  5. 应有 6 个"c"文件夹
  6. 所有"c"文件夹
  7. 应有 6 个"d"文件夹
  8. 所有"d"文件夹
  9. 应有 6 个"e"文件夹
  10. 所有"e"文件夹
  11. 都应有 6 个"f"文件夹
  12. 所有"f"文件夹必须保持为空

当然,这应该是一个 linux shell 脚本。

我没有要发布的代码,我一直在尝试使用 for 循环,其中我从 1 到 6,它会创建一个名为 that。 如果你真的想要我为这个问题编写的代码,我很乐意粘贴我几个月前写的 50000+ 行 mkdir。这个问题最近出现在我的脑海中,我想看看是否有其他人可以找到解决方案,因为我尝试的都没有奏效。

怎么样

#!/bin/bash
for a in 1 2 3 4 5 6
do
for b in 1 2 3 4 5 6
do
for c in 1 2 3 4 5 6
do
for d in 1 2 3 4 5 6
do
for e in 1 2 3 4 5 6
do
for f in 1 2 3 4 5 6
do
mkdir -p main/a$a/b$b/c$c/d$d/e$e/f$f
done
done
done
done
done
done

但我相信你可以改进它...

最新更新