Yanıtlar:
Elbette, bunu sanatçı klasörlerinin bulunduğu müzik klasöründe yürütün:
for artist in */; do
for folder in "1. Albums" "2. EP" "3. Singles" "4. Live"; do
mkdir "$artist/$folder"
done
done
Bunu CLI'nızda yürütebilir veya #!/bin/sh
ilk satır olarak ekleyip bir dosyaya kaydederek bir kabuk komut dosyası yapabilirsiniz. Dosyayı yürütülebilir yapmayı unutmayın.
Yaptığı işe gelince: */
geçerli dizindeki tüm dizinler ( ) üzerinden yinelenir , daha sonra bu dizinlerin her biri için istenen alt klasör (ikinci for
) üzerinden yinelenir ve sonra istenen (göreceli) alt klasör yapılır.
Bunun için {curly} parantezinizi koymak isteyebilirsiniz
Bu argüman uğruna ./music yokmuş gibi davranacağız
./Music için temel dizininizde, gerekli yerlerde alt dizinler oluşturmak için -p komutunu kullanacağız ve süslü parantezler küçük bir dizi oluşturmak için kullanılacak
Komut -p
ebeveyn için kısadır, hatırlamak daha kolaysa --parent
bunun yerine kullanabileceğinizi
mkdir -p ./music/{"1. Albums","2. EP","3. Singles","4. Live"}
Bununla oynamak isterseniz, örneğin
mkdir -p ./folder/prefix{a{1/only,2,3},b,c}suffix/more{z,y,x}
İfadeleri iç içe yerleştirdiniz, kaşlı ayraçları bir dizenin ortasına yerleştirebilirsiniz ve ayrıca alt dizinin de uymasını sağlayabilir ve belirli bir dizi için alt dizinlerinizle ilgili olabilirsiniz
Bu tür komutlarla kendi şablonlarınızı oluşturabileceğiniz bir yerde dosya oluşturmanızı ve onlara açıklama vermenizi öneririm
Daha fazla bilgi için bu sayfayı ziyaret edin https://www.linuxjournal.com/content/bash-brace-expansion ve https://www.linux.com/tutorials/all-about-curly-braces-bash/
music
doğru arg kadar, mkdir
olur./music/*/{"1. Albums","2. EP","3. Singles","4. Live"}
-p
kısa şeklidir --parent
.