Como criar 100 subdiretórios usando um script Bash?

14

Estou tentando criar 100 subdiretórios diferentes em determinados diretórios usando um script Bash.

Eu começo com um loop básico for (ou seja, for f in $FILES;do mkdir f done ), mas não funciona.

Para deixar claro o que quero fazer: Eu tento obter 100 subdiretórios diferentes nos diretórios atuais (aqui eu uso home='pwd' ). Por exemplo, no diretório /home/paul/main_directory/ .

E aqui eu gostaria de criar 100 diretórios com índice de 1 a 100, assim:

subdirectory_1
subdirectory_2
subdirectory_3
subdirectory_4
.
.
.
subdirectory_100
    
por Pavol Namer 10.01.2015 / 00:38

3 respostas

18

Para responder à sua pergunta usando o loop for sugerido - a expressão de chave mencionada pelo steeldriver também funciona:

for i in {1..100}; do mkdir subdirectory_$i; done

Para responder à sua pergunta atualizada:

Ambos - a resposta da steeldriver e a de mim são ambas feitas com uma frase.

Se você quiser usar isso em um script de Bash, provavelmente escreverá da seguinte forma:

#!/bin/bash
for i in {1..100}
do
    mkdir subdirectory_$i
done
    
por rkn 10.01.2015 / 00:44
39

A maneira mais fácil é provavelmente usar expansão de chave

mkdir subdirectory_{1..100}
    
por steeldriver 10.01.2015 / 00:41
8

Para adicionar um pouco de algo à resposta verdadeiramente impressionante dada pela steeldriver:

Você pode criar diretórios que classifiquem "adequadamente" preenchendo com zero.

mkdir subdirectory_{001..100}

(Se você gostou desta resposta, por favor envie a resposta da steeldriver. Eu ainda não posso comentar, ou teria feito isso.)

    
por MDeBusk 13.01.2015 / 22:07