2

I know this might be a basic question but I couldn't find its answer.

I am trying to create 20 folders which are numbered from 1 to 20. How can I do this using a single command line. I use mac.

Thanks in advance for your input.

Mark Setchell
  • 146,975
  • 21
  • 182
  • 306
Aimann
  • 23
  • 3

1 Answers1

3

You can use a bash feature called "brace expansion" - description here

mkdir folder{1..20}

Result

drwxr-xr-x     2 mark  staff        64 29 Mar 12:01 folder1
drwxr-xr-x     2 mark  staff        64 29 Mar 12:01 folder2
drwxr-xr-x     2 mark  staff        64 29 Mar 12:01 folder3
...
...
drwxr-xr-x     2 mark  staff        64 29 Mar 12:01 folder19
drwxr-xr-x     2 mark  staff        64 29 Mar 12:01 folder20

It works with letters as well as numbers:

mkdir folder-{A..Z}

Result

drwxr-xr-x  2 mark  staff  64 29 Mar 13:06 folder-A
drwxr-xr-x  2 mark  staff  64 29 Mar 13:06 folder-B
drwxr-xr-x  2 mark  staff  64 29 Mar 13:06 folder-C
...
...
drwxr-xr-x  2 mark  staff  64 29 Mar 13:06 folder-Y
drwxr-xr-x  2 mark  staff  64 29 Mar 13:06 folder-Z

If your numbers/values are discontiguous, you can use a comma to separate them:

mkdir folder{1,3,21}

Result

drwxr-xr-x     2 mark  staff        64 29 Mar 13:00 folder1
drwxr-xr-x     2 mark  staff        64 29 Mar 13:00 folder3
drwxr-xr-x     2 mark  staff        64 29 Mar 13:00 folder21

It also works with whole words:

mkdir folder-{dev,test,production}

Result

drwxr-xr-x     2 mark  staff        64 29 Mar 13:03 folder-dev
drwxr-xr-x     2 mark  staff        64 29 Mar 13:03 folder-test
drwxr-xr-x     2 mark  staff        64 29 Mar 13:03 folder-production

And you can do it more than once:

mkdir folder-{dev,test,production}/team-{1..3}

Result

ls -l folder-{dev,test,production}
folder-dev:
total 0
drwxr-xr-x  2 mark  staff  64 29 Mar 13:04 team-1
drwxr-xr-x  2 mark  staff  64 29 Mar 13:04 team-2
drwxr-xr-x  2 mark  staff  64 29 Mar 13:04 team-3

folder-production:
total 0
drwxr-xr-x  2 mark  staff  64 29 Mar 13:04 team-1
drwxr-xr-x  2 mark  staff  64 29 Mar 13:04 team-2
drwxr-xr-x  2 mark  staff  64 29 Mar 13:04 team-3

folder-test:
total 0
drwxr-xr-x  2 mark  staff  64 29 Mar 13:04 team-1
drwxr-xr-x  2 mark  staff  64 29 Mar 13:04 team-2
drwxr-xr-x  2 mark  staff  64 29 Mar 13:04 team-3
Mark Setchell
  • 146,975
  • 21
  • 182
  • 306