Respuestas:
Claro, ejecute esto en la carpeta de música donde están las carpetas del artista:
for artist in */; do
for folder in "1. Albums" "2. EP" "3. Singles" "4. Live"; do
mkdir "$artist/$folder"
done
done
Puede ejecutar esto en su CLI, o puede convertirlo en un script de shell al agregarlo #!/bin/sh
como la primera línea y guardarlo en un archivo. No olvide hacer que el archivo sea ejecutable.
En cuanto a lo que hace: itera sobre todos los directorios ( */
) dentro del directorio actual, luego para cada uno de estos directorios, itera sobre la subcarpeta deseada (la segunda for
) y luego crea la subcarpeta deseada (relativa).
Es posible que desee poner sus llaves {rizadas} para este
Por el bien de este argumento vamos a pretender ./music no existe
En su directorio base para ./music usaremos el comando -p para crear subdirectorios donde sea necesario y las llaves se usarán para crear una pequeña matriz
El comando -p
es corto para los padres, si es más fácil de recordar puede usar --parent
en su lugar
mkdir -p ./music/{"1. Albums","2. EP","3. Singles","4. Live"}
Si desea jugar con esto, puede, por ejemplo
mkdir -p ./folder/prefix{a{1/only,2,3},b,c}suffix/more{z,y,x}
Tiene expresiones anidadas, puede insertar las llaves en el medio de una cadena y también puede permitir que el subdirectorio haga lo mismo, y puede ser específico con sus subdirectorios para una matriz particular
Le sugiero que cree un archivo en algún lugar donde pueda hacer sus propias plantillas con dichos comandos y darles descripciones
Visite esta página para obtener más información https://www.linuxjournal.com/content/bash-brace-expansion y https://www.linux.com/tutorials/all-about-curly-braces-bash/
music
, por lo que el mkdir
./music/*/{"1. Albums","2. EP","3. Singles","4. Live"}
-p
es la forma abreviada de --parent
.