command line

Existe uma forma de criar múltiplos directórios ao mesmo tempo com mkdir

Se eu quisesse criar vários directórios (no mesmo nível)e depois alimentá-lo com uma lista separada por vírgulas de nomes de directórios (ou algo para esse efeito)?


Short answer

mkdir recebe vários argumentos, basta executar

mkdir dir_1 dir_2



Pode utilizar listas para criar directórios e pode tornar-se bastante selvagem.

Alguns exemplos para levar as pessoas a pensar sobre o assunto:

mkdir sa{1..50}
mkdir -p sa{1..50}/sax{1..50}
mkdir {a-z}12345 
mkdir {1,2,3}
mkdir test{01..10}
mkdir -p `date '+%y%m%d'`/{1,2,3} 
mkdir -p $USER/{1,2,3} 
  1. 50 directórios de sa1 a sa50
  2. mesmo mas cada um dos directórios terá 50 vezes sax1 até sax50 (-p criará directórios parentais se estes não existirem.
  3. 26 directórios de a12345 a z12345
  4. lista separada por vírgulas faz os dirs 1,2 e 3.
  5. 10 diretórios de test01 a test10 .
  6. igual a 4 mas com a data actual como directório e 1,2,3 na mesma.
  7. o mesmo que 4 mas com o utilizador actual como directório e 1,2,3 no mesmo.

Assim,se eu o entendi correctamente e quiser criar alguns directórios,e dentro deles novos directórios,então poderá fazer isto:

mkdir -p sa{1..10}/{1,2,3}

e obter sa1,sa2,...,sa10 e dentro de cada dir 1,2 e 3.