我想创建一些目录,每个目录都有一些基于两个使用Bash的列表的子目录。目前,以下代码实现了这一结果:
mkdir -p {P01DH,P02DL,P03NH,P04NL,P05RH,P06RL}/{folder1,folder2,folder3,folder4,folder5,folder6,folder7,folder8}
产量
P01DH/folder1
P01DH/folder2
...
P06RL/folder8
问题:是否有更简洁的(非单行)方式来实现相同的结果,可能将两个列表存储为数组或变量并使用循环?
答案 0 :(得分:0)
使用嵌套循环:
for parent in P01DH P02DL P03NH P04NL P05RH P06RL; do
for child in folder{1..8}; do
mkdir -p "$parent/$child"
done
done
答案 1 :(得分:0)
谢谢大家!结合上面的@ karakfa和@ Barmar的解决方案(并添加了在循环中执行其他步骤的能力),我得到以下结果:
for parent in P0{1DH,2DL,3NH,4NL,5RH,6RL}; do
for child in folder{1..8}; do
mkdir -p "$parent/$child"
cp myfile.py "$parent/$child"
#do other tasks
done
done