使用 linux bash 脚本创建递归文件夹
Creating recursive folders with a linux bash script
我以前问过一次,它被标记为需要更多详细信息。嗯,这里很详细。
目标是有一个创建文件夹的脚本,如下所示:
main
在该文件夹中创建一个名为 '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' 个文件夹将为空
最终结果应该是:
- 一个 'main' 个文件夹有 6 个 'a' 个文件夹
- 所有 'a' 个文件夹应该有 6 个 'b' 个文件夹
- 所有 'b' 个文件夹应该有 6 个 'c' 个文件夹
- 所有 'c' 个文件夹应该有 6 个 'd' 个文件夹
- 所有 'd' 个文件夹应该有 6 个 'e' 个文件夹
- 所有 'e' 个文件夹应该有 6 个 'f' 个文件夹
- 所有 'f' 个文件夹必须保持为空
这当然应该是 linux shell 脚本。
我没有 post 的代码,我一直在尝试使用 for 循环,其中 i 从 1 到 6,它创建了一个名为该文件夹的文件夹。
如果您真的想要我为这个问题编写的代码,我很乐意粘贴我几个月前编写的 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
但我相信你可以改进它...
我以前问过一次,它被标记为需要更多详细信息。嗯,这里很详细。
目标是有一个创建文件夹的脚本,如下所示:
main
在该文件夹中创建一个名为 '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' 个文件夹将为空
最终结果应该是:
- 一个 'main' 个文件夹有 6 个 'a' 个文件夹
- 所有 'a' 个文件夹应该有 6 个 'b' 个文件夹
- 所有 'b' 个文件夹应该有 6 个 'c' 个文件夹
- 所有 'c' 个文件夹应该有 6 个 'd' 个文件夹
- 所有 'd' 个文件夹应该有 6 个 'e' 个文件夹
- 所有 'e' 个文件夹应该有 6 个 'f' 个文件夹
- 所有 'f' 个文件夹必须保持为空
这当然应该是 linux shell 脚本。
我没有 post 的代码,我一直在尝试使用 for 循环,其中 i 从 1 到 6,它创建了一个名为该文件夹的文件夹。 如果您真的想要我为这个问题编写的代码,我很乐意粘贴我几个月前编写的 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
但我相信你可以改进它...