Risposte:
Certo, eseguilo nella cartella della musica dove si trovano le cartelle dell'artista:
for artist in */; do
for folder in "1. Albums" "2. EP" "3. Singles" "4. Live"; do
mkdir "$artist/$folder"
done
done
È possibile eseguirlo nella CLI oppure renderlo uno script di shell aggiungendolo #!/bin/sh
come prima riga e salvandolo in un file. Non dimenticare di rendere eseguibile il file.
Per quanto riguarda ciò che fa: scorre su tutte le directory ( */
) all'interno della directory corrente, quindi per ciascuna di queste directory, scorre sulla sottocartella desiderata (la seconda for
), quindi crea la sottocartella desiderata (relativa).
Potresti voler indossare le tue parentesi graffe per questo
Per il bene di questo argomento fingeremo che la musica non esiste
Nella tua directory di base per ./music useremo il comando -p per creare sotto-directory dove necessario e le parentesi graffe verranno usate per creare un piccolo array
Il comando -p
è abbreviato per parent, se è più facile ricordare che puoi usare --parent
invece
mkdir -p ./music/{"1. Albums","2. EP","3. Singles","4. Live"}
Se vuoi giocare con questo puoi, per esempio
mkdir -p ./folder/prefix{a{1/only,2,3},b,c}suffix/more{z,y,x}
Hai espressioni nidificate, puoi inserire le parentesi graffe nel mezzo di una stringa e puoi anche consentire alla sottodirectory di seguire l'esempio, e puoi essere specifico con le tue sottodirectory per un particolare array
Ti suggerisco di creare un file da qualche parte in cui puoi creare i tuoi modelli con tali comandi e dare loro descrizioni
Visita questa pagina per maggiori informazioni https://www.linuxjournal.com/content/bash-brace-expansion e https://www.linux.com/tutorials/all-about-curly-braces-bash/
music
, quindi l'arg corretto mkdir
sarebbe./music/*/{"1. Albums","2. EP","3. Singles","4. Live"}
-p
è la forma abbreviata di --parent
.