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

时间:2013-05-28 08:28:26

标签: linux bash shell

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

'/working/1190A'
'/working/1993A'

我想在每个子文件夹中递归创建某个目录树。例如:

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

感谢。

3 个答案:

答案 0 :(得分:4)

要强制系统创建目录树而不必创建每个级别,请将-p添加到mkdir命令。

因此,这可能有效:

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

请注意,list_of_folders可以像/working/1190A /working/1993A一样给出,但也可以使用find命令生成。这只是您可以更好地适应您的特定要求的第一个版本。

答案 1 :(得分:2)

这是一个班轮

cd /working
find . -maxdepth 1 -type d -exec  mkdir -p '{}'/analysis/1 \;

答案 2 :(得分:0)

yourDirList=/working/*
for f in $yourDirList
do
    if [ -d $f ]
        mkdir -p $f/analysis/1
    fi
done