linux - 一次创建多个文件夹及其子文件夹
问题描述
我有以下文件夹结构,最后一个文件夹中有 20-30 个子文件夹,我想看看使用 linux 命令在我的机器上创建所有这些文件夹的最快方法是什么。
我的文件夹结构:
Folder A ---- Project A -----Sample 1
Folder A ---- Project A -----Sample 2
Folder A ---- Project A -----Sample 3
所以你可以在上面看到,有三个级别 - 文件夹,然后是项目,然后是示例。
如果我使用文本文件或您推荐的任何文件,那么最好的方法是什么。
解决方案
为了准确地创建上面描述的内容,这个 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 脚本。我认为这就是编程/编写脚本的真正乐趣所在。
推荐阅读
- python - PyPDF4不读取某些字符
- java - 如何在 Mockito 中获取 session.getAttribute()
- python - Mysql文件未链接到python
- java - 带有 Swagger + Hateoas 的 Spring Boot 2.3.4
- typescript - Typescript中的Concat元组类型?
- r - using future_lapply() inside future_lapply()
- c-preprocessor - 如何在 Cpp 中定义两个标记的宏
- r - 更改行索引数据框 R
- python - Redirect stdout and stderr of an external library in Python
- reactjs - Custom Icon Set Problem with React-native-vector-icons + Icomoon