Respostas:
Claro, execute isso na pasta de músicas onde estão as pastas do artista:
for artist in */; do
for folder in "1. Albums" "2. EP" "3. Singles" "4. Live"; do
mkdir "$artist/$folder"
done
done
Você pode executar isso na sua CLI ou torná-lo um script de shell adicionando #!/bin/sh
como primeira linha e salvando-o em um arquivo. Não esqueça de tornar o arquivo executável.
Quanto ao que faz: itera sobre todos os diretórios ( */
) dentro do diretório atual; em seguida, para cada um desses diretórios, itera sobre a subpasta desejada (a segunda for
) e, em seguida , cria a subpasta (relativa) desejada.
Você pode usar seu aparelho {curly} para este
Para esse argumento, fingiremos que ./music não existe
Em seu diretório base para ./music, usaremos o comando -p para criar subdiretórios quando necessário e os chavetas serão usadas para criar uma pequena matriz
O comando -p
é curto para o pai, se é mais fácil de lembrar que você pode usar --parent
em vez
mkdir -p ./music/{"1. Albums","2. EP","3. Singles","4. Live"}
Se você quiser brincar com isso, pode, por exemplo
mkdir -p ./folder/prefix{a{1/only,2,3},b,c}suffix/more{z,y,x}
Você tem expressões aninhadas, pode inserir os chavetas no meio de uma sequência e também pode permitir que o subdiretório siga o exemplo, além de ser específico com seus subdiretórios para uma matriz específica
Eu sugiro que você crie um arquivo em algum lugar onde você possa criar seus próprios modelos com esses comandos e fornecer descrições
Visite esta página para obter mais informações https://www.linuxjournal.com/content/bash-brace-expansion e https://www.linux.com/tutorials/all-about-curly-braces-bash/
music
, de modo que o arg correcta para mkdir
seria./music/*/{"1. Albums","2. EP","3. Singles","4. Live"}
-p
é a forma abreviada de --parent
.