Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用linux bash脚本创建递归文件夹_Bash_Algorithm_Recursion_Mkdir - Fatal编程技术网

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

使用linux bash脚本创建递归文件夹,bash,algorithm,recursion,mkdir,Bash,Algorithm,Recursion,Mkdir,我以前问过一次,它被标记为需要更多细节。这里有很多细节 目标是创建一个创建文件夹的脚本,如下所示: 主要 在该文件夹内创建一个名为“main”的文件夹后,将创建6个“a”文件夹,分别用数字和字母命名为“1a 2a 3a 5a 6a” 创建这6个“a”文件夹后,它将在每个6个“a”文件夹中创建6个“b”文件夹。因此,每个“a”文件夹将包含“1b 2b 4b 5b 6b” 在创建这6个“b”文件夹之后,它将在这6个“b”文件夹中的每个文件夹中创建6个“c”文件夹。因此,它们都将包含文件夹“1C2C

我以前问过一次,它被标记为需要更多细节。这里有很多细节

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

主要

  • 在该文件夹内创建一个名为“main”的文件夹后,将创建6个“a”文件夹,分别用数字和字母命名为“1a 2a 3a 5a 6a”

  • 创建这6个“a”文件夹后,它将在每个6个“a”文件夹中创建6个“b”文件夹。因此,每个“a”文件夹将包含“1b 2b 4b 5b 6b”

  • 在创建这6个“b”文件夹之后,它将在这6个“b”文件夹中的每个文件夹中创建6个“c”文件夹。因此,它们都将包含文件夹“1C2C3C4C5C6C”

  • 之后,它将在每个“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”文件夹都将为空

最终结果应该是:

  • 一个包含6个“a”文件夹的“主”文件夹
  • 所有“a”文件夹应具有6个“b”文件夹
  • 所有“b”文件夹应具有6个“c”文件夹
  • 所有“c”文件夹应具有6个“d”文件夹
  • 所有“d”文件夹应具有6个“e”文件夹
  • 所有“e”文件夹应具有6个“f”文件夹
  • 所有“f”文件夹必须保持为空
  • 当然,这应该是一个linux shell脚本

    我没有要发布的代码,我一直在尝试从1到6的for循环,它会创建一个名为该循环的文件夹。 如果你真的想要我为这个问题写的代码,我很乐意粘贴我几个月前写的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
    

    但我相信您可以改进它…

    欢迎使用堆栈溢出。这也是一个面向专业和热心程序员的问答网站。我们的目标是在你的问题中添加一些你自己的代码,以显示你自己为解决这个问题所做的研究工作。我的想法是什么?当然可能。提出你的想法,或者草拟一份剧本,说明你的处境如何?如果你的脚本需要帮助,我想有人可以帮助你。或者只有
    mkdir-pmain/a{1..6}/b{1..6}/c{1..6}/d{1..6}/e{1..6}/f{1..6}
    是的,这就成功了!现在看着它,我有点傻:/。非常感谢你帮助我。显然,我还得多学习。不,不需要对您的程序进行任何改进。谢谢你,平克弗洛伊德。