bash中自动创建文件夹

时间:2015-05-06 09:57:34

标签: bash

我有一个包含子文件夹嵌套结构的文件夹。我想创建另一个文件夹并将该结构复制到。但是,我只想保留结构的第一级。更清楚的是,想象一个包含100个文件夹的文件夹,每个文件夹都有一些其他嵌套级别的文件夹。我想在其他地方创建一个单独的文件夹,在其中我创建了100个具有完全相同名称的文件夹。就是这样。无需复制每个文件夹的内容。

是否可以通过管道,mkdir或其他方式在一行代码中进行此操作?

2 个答案:

答案 0 :(得分:1)

将文件夹结构写入某个文件

find . -type d > /tmp/dirs.txt

进入新文件夹并使用

创建目录
xargs mkdir -p < /tmp/dirs.txt

或者如果你在foldernames中有空格(这绝不是一个好主意):

find . -type d -print0 > /tmp/dirs.txt  
xargs -0 mkdir -p < /tmp/dirs.txt

如果您只想要第一级结构,请将-maxdepth 1添加到find命令。

答案 1 :(得分:1)

您可以使用find这样创建在第1级找到的目录:

find ./A -mindepth 1 -maxdepth 1 -type d -execdir mkdir "$PWD/B/{}" \;