正如man mkdir
国家
-p, --parents
no error if existing, make parent directories as needed
当我运行这个命令时
mkdir -p work/{F1,F2,F3}/{temp1,temp2}
它创建一个类似于此父文件夹的文件夹结构,work
然后在三个父文件夹, , 下创建, ,子文件夹和子文件夹。F1
F2
F3
temp1
temp2
F1
F2
F3
work
-F1
-temp1
-temp2
-F2
-temp1
-temp2
-F3
-temp1
-temp2
现在的问题是我只想在 , 文件夹下创建temp1
,文件夹,而不是在 和 下,但我对如何编写命令来执行我想要的操作感到困惑。temp2
F1
F2
F3
答案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}