使用大括号(大括号)通过“mkdir -p”创建文件夹结构

使用大括号(大括号)通过“mkdir -p”创建文件夹结构

正如man mkdir国家

   -p, --parents
          no error if existing, make parent directories as needed

当我运行这个命令时

mkdir -p work/{F1,F2,F3}/{temp1,temp2}

它创建一个类似于此父文件夹的文件夹结构,work然后在三个父文件夹, , 下创建, ,子文件夹和子文件夹。F1F2F3temp1temp2F1F2F3

   work
     -F1
       -temp1
       -temp2
     -F2
       -temp1
       -temp2
     -F3
       -temp1
       -temp2

现在的问题是我只想在 , 文件夹下创建temp1,文件夹,而不是在 和 下,但我对如何编写命令来执行我想要的操作感到困惑。temp2F1F2F3

答案1

也许这就是您正在寻找的?

 mkdir -p work/{F1/{temp1,temp2},F2,F3}

答案2

Brace Expansion关于大括号扩展的非常好的描述(带有示例)可以在bash 手册的小节中找到( man bash,按/开始搜索并搜索Brace Expansion)。

答案3

mkdir -p work/F{1..3} work/F1/temp{1,2}

这首先创建work和三个子目录,然后再创建 的较低级别目录work/F1。它很容易阅读和理解。

或者,如果您绝对需要将所有内容组合成一个怪物表达式(绝对没有必要这样做,因为它很难阅读和维护):

mkdir -p work/F{1/temp{1,2},2,3}

相关内容