Linux 在现有子目录中递归创建目录树

Linux 在现有子目录中递归创建目录树,linux,bash,shell,Linux,Bash,Shell,我有一个包含大量子文件夹的工作目录(即1190A、1993A等) 我想在每个子文件夹中递归地创建一个特定的目录树。例如: '/working/1190A/analysis/1' '/working/1993A/analysis/1' etc 谢谢。要强制系统创建目录树而不必创建每一级目录树,请在mkdir命令中添加-p 因此,这可能会起作用: for dir in list_of_folders do mkdir -p $dir/your/directory/tree [ $? ]

我有一个包含大量子文件夹的工作目录(即1190A、1993A等)

我想在每个子文件夹中递归地创建一个特定的目录树。例如:

'/working/1190A/analysis/1'
'/working/1993A/analysis/1'
etc

谢谢。

要强制系统创建目录树而不必创建每一级目录树,请在
mkdir
命令中添加
-p

因此,这可能会起作用:

for dir in list_of_folders
do
   mkdir -p $dir/your/directory/tree
   [ $? ] && echo "error on $dir" # if the dir could not be created, print error (thanks @hetepeperfan - see comments)
done
请注意,文件夹列表可以像
/working/1190A/working/1993A
一样给出,但也可以使用
查找
命令生成。这只是第一个版本,您最好适应您的具体要求。

这是一个作为

yourDirList=/working/*
for f in $yourDirList
do
    if [ -d $f ]
        mkdir -p $f/analysis/1
    fi
done
cd /working
find . -maxdepth 1 -type d -exec  mkdir -p '{}'/analysis/1 \;

检查mkdir的退出状态可能是明智的,否则OP可能会在稍后的过程中出错。谢谢,@heteperfan,在这种情况下,我添加了一个
echo
。通过
find/working/-maxdepth 1-type d
获取文件夹列表可能更好。@Rohan,我明白了这一点,我认为这是一个明智的方法。无论如何,由于OP没有给出太多的规范,我更愿意添加一个,这只是第一个版本,您最好在结尾处根据您的具体要求进行修改。无论如何谢谢你!非常感谢!工作是一种享受。
cd /working
find . -maxdepth 1 -type d -exec  mkdir -p '{}'/analysis/1 \;