我有一个包含大量子文件夹(即1190A,1993A等)的工作目录。在现有子目录中递归创建目录树
'/working/1190A'
'/working/1993A'
我想在每个子文件夹内递归地创建一个特定的目录树。例如:
'/working/1190A/analysis/1'
'/working/1993A/analysis/1'
etc
谢谢。
我有一个包含大量子文件夹(即1190A,1993A等)的工作目录。在现有子目录中递归创建目录树
'/working/1190A'
'/working/1993A'
我想在每个子文件夹内递归地创建一个特定的目录树。例如:
'/working/1190A/analysis/1'
'/working/1993A/analysis/1'
etc
谢谢。
要强制系统创建一个目录树,而不必创建它的每个级别,请将-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
命令生成。这只是第一个版本,你最好适应你的具体要求。
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 \;
非常感谢!作品一种享受。 – ap123
这可能是明智的检查的mkdir的退出状态,否则可能OP在以后的过程中出现错误。 – hetepeperfan
谢谢,@ hetepeperfan,我在这种情况下添加了一个'echo'。 – fedorqui
可能会更好,通过'find/working/-maxdepth 1 -type d'获取文件夹列表 – Rohan