¿Cómo crear 100 subdirectorios usando un script Bash?


14

Estoy tratando de crear 100 subdirectorios diferentes en ciertos directorios usando un script Bash.

Comienzo con un forbucle básico (es decir for f in $FILES;do mkdir f done), pero no funciona.

Para que quede claro lo que quiero hacer: intento obtener 100 subdirectorios diferentes en los directorios actuales (aquí los uso home='pwd'). Por ejemplo, en el directorio /home/paul/main_directory/.

Y aquí me gustaría crear 100 directorios con índice del 1 al 100, así:

subdirectory_1
subdirectory_2
subdirectory_3
subdirectory_4
.
.
.
subdirectory_100

Respuestas:


19

Para responder a su pregunta utilizando su forbucle sugerido , la expresión de llaves mencionada por steeldriver también funciona:

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

Para responder a su pregunta actualizada:

Ambas: la respuesta de Steeldriver y la de mí están destinadas a ser ingeniosas.

Si desea utilizar esto en una secuencia de comandos Bash, probablemente lo escribiría así:

#!/bin/bash
for i in {1..100}
do
    mkdir subdirectory_$i
done

lo siento, no quiero editar tu respuesta, solo quiero comentarla ... ay ...
Pavol Namer

Muchas gracias, por su rápida respuesta, ahora la tengo. Muchas gracias, esto me salva mucho tiempo :)
Pavol Namer

1
una alternativa para los casos en los que no tiene un BASH completo sino solo un / bin / sh, puede usar seqen su lugar: for i in $(seq 1 100); do mkdir dir_$i; done
Daniel Llewellyn el

Crea un directorio '{1..3}', cuando intentas hacer lo mismo 3 veces. ¿Alguna pista de lo que podría haber salido mal?
soufrk


8

Para agregar algo a la respuesta realmente impresionante dada por steeldriver:

Puede crear directorios que se ordenen "correctamente" rellenando con cero.

mkdir subdirectory_{001..100}

(Si te gusta esta respuesta, vota la respuesta de Steeldriver. Todavía no puedo comentar, o lo habría hecho).


Crea un subdirectorio llamado 'subdirectorio_ {001..100}'. Alguna pista sobre lo que podría haber salido mal.
soufrk

Ni idea. Funciona bien para mí aquí. ¿Estás usando bash?
MDeBusk
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.