首页 > 解决方案 > 一次创建多个文件夹及其子文件夹

问题描述

我有以下文件夹结构,最后一个文件夹中有 20-30 个子文件夹,我想看看使用 linux 命令在我的机器上创建所有这些文件夹的最快方法是什么。

我的文件夹结构:

Folder A ---- Project A -----Sample 1
Folder A ---- Project A -----Sample 2
Folder A ---- Project A -----Sample 3

所以你可以在上面看到,有三个级别 - 文件夹,然后是项目,然后是示例。

如果我使用文本文件或您推荐的任何文件,那么最好的方法是什么。

标签: linuxdirectory

解决方案


为了准确地创建上面描述的内容,这个 Bash one-liner 应该可以工作。

for i in {1..30};do mkdir -p Folder_A/Project_A/Sample_"$i";done创建:

├── Folder_A
│   ├── Project_A
│       ├── Sample_1
│       ├── ...
│       ├── Sample_30

如果你想要更复杂的东西,你可以做类似的事情

for f in top_level_1 top_level_2; do for i in sub_folder_1 sub_folder_2;do mkdir -p Folder_A/$f/$i;done;done

或者把它变成一个完整的 bash 脚本并执行它

#!/bin/bash
for f in mid_level_1 mid_level_2;
        do for i in sub_folder_1 sub_folder_2;
                do mkdir -p parent_directory/$f/$i
        done
done

这给出了这个结构:

├── parent_directory
│   ├── mid_level_1
│       ├── sub_folder_1
│       ├── sub_folder_2
│   ├── mid_level_2
│       ├── sub_folder_1
│       ├── sub_folder_2

您可以通过更改单词后的目录列表来更改创建的目录for。可以在此处找到 bash for 循环的说明

如果您需要更复杂的东西,请使用这些原则并尝试编写一个可以做到的 bash 脚本。我认为这就是编程/编写脚本的真正乐趣所在。


推荐阅读