bash脚本在目录中创建多个目录

bash脚本在目录中创建多个目录,bash,Bash,我想在nix中创建如下目录结构: mkdir-p1,2,3,4,5,6,7,8,9在每个文件夹中,我想要文件夹1,2,3,4,5,6,7,8,9 我已经开始编写这样一个简单的循环(一直到文件夹2),但这似乎效率低下 #!/usr/bin/env bash for i in 1 2 4 5 6 7 8 9; do mkdir -p 1/{1,2,3,4,5,6,7,8,9} $i, mkdir -p 2/{1,2,3,4,5,6,7,8,9} $2; done 有更好的方法吗?这应该会有

我想在nix中创建如下目录结构:

mkdir-p1,2,3,4,5,6,7,8,9
在每个文件夹中,我想要文件夹
1,2,3,4,5,6,7,8,9

我已经开始编写这样一个简单的循环(一直到文件夹2),但这似乎效率低下

#!/usr/bin/env bash   
for i in 1 2 4 5 6 7 8 9; do mkdir -p 1/{1,2,3,4,5,6,7,8,9} $i, mkdir -p  2/{1,2,3,4,5,6,7,8,9} $2; done
有更好的方法吗?

这应该会有帮助(需要bash):

一些较新版本的bash也允许这样做:

mkdir -p {1..9}/{1..9}
这应该有帮助(需要bash):

一些较新版本的bash也允许这样做:

mkdir -p {1..9}/{1..9}

听起来很简单,除非我误解了:

#!/bin/sh
for i in `seq 1 9`; do
  for j in `seq 1 9`; do
    mkdir -p $i/$j
  done
done

听起来很简单,除非我误解了:

#!/bin/sh
for i in `seq 1 9`; do
  for j in `seq 1 9`; do
    mkdir -p $i/$j
  done
done
Perl解决方案

for($counter = 1; $counter <= 9; $counter++)
{
        `mkdir -p $counter/{1..9}`; //Executing Unix Command
}
for($counter=1;$counterPerl解决方案

for($counter = 1; $counter <= 9; $counter++)
{
        `mkdir -p $counter/{1..9}`; //Executing Unix Command
}

对于($counter=1;$counter哦,Michal的一行程序更酷。我一直忘了bash的{}扩展。哦,Michal的一行程序更酷。我一直忘了bash的{}扩展。从引入的括号扩展。出于兴趣,我如何更进一步,在每个文件夹下添加a,b,c,d。例如mkdir-p{1,2,3,4,5,6,7,8,9,a,b,c,d}/{1,2,3,4,5,6,7,8,9,a,b,c,d}有大括号扩展吗?@user1283693是的,它只是大括号扩展,所以这个变体可以使用任何名称,而不仅仅是数字。从引入的大括号扩展。出于兴趣,我如何更进一步,在每个文件夹下添加a,b,c,d。例如mkdir-p{1,2,3,4,5,6,7,9,a,b,c,d}/{1,2,3,4,4,5,6,7,8,9,c,d}是否使用大括号扩展?@user1283693是的,它只是大括号扩展,因此此变体将使用任何名称,而不仅仅是数字。