Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash中的自动文件夹创建_Bash - Fatal编程技术网

bash中的自动文件夹创建

bash中的自动文件夹创建,bash,Bash,我有一个文件夹,其中包含嵌套的子文件夹结构。我想创建另一个文件夹并将该结构复制到中。但是,我只想保留结构的第一层。更清楚地说,假设一个文件夹包含100个文件夹,每个文件夹都有一些其他嵌套级别的文件夹。我想在其他地方创建一个单独的文件夹,在其中创建100个名称完全相同的文件夹。就这样。无需复制每个文件夹的内容 是否可以通过管道、mkdir或其他方式在一行代码中实现这一点?将folderstructure写入某个文件 find . -type d > /tmp/dirs.txt 将cd放入新

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


是否可以通过管道、mkdir或其他方式在一行代码中实现这一点?

将folderstructure写入某个文件

find . -type d > /tmp/dirs.txt
将cd放入新文件夹中,并使用创建目录

xargs mkdir -p < /tmp/dirs.txt
xargs mkdir-p
或者如果foldernames中有空格(这从来都不是个好主意):

find-键入d-print0>/tmp/dirs.txt
xargs-0 mkdir-p

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

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

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

任务是明确的。现在,在你描述了你想要什么之后,你希望我们做什么?@AxelAmthor刚刚补充了这个问题。完全忘了问这个问题!不工作。1) 使用空格分割文件夹名称,并基于每个分割名称创建单独的文件夹!2) 将整个结构复制到我想要的层次结构第一级副本的位置。在foldernames中不应使用空格。不过,我会更新他的答案,使之包括在内。不起作用。错误:mkdir:无法创建目录“A/BlackAndWhite”:文件存在。我所尝试的:“find A-maxdepth 1-typed-execmkdir B/'{}'+”
find ./A -mindepth 1 -maxdepth 1 -type d -execdir mkdir "$PWD/B/{}" \;