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/shilk 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 -pebeveyn için kısadır, hatırlamak daha kolaysa --parentbunun 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/
musicdoğru arg kadar, mkdirolur./music/*/{"1. Albums","2. EP","3. Singles","4. Live"}
-pkısa şeklidir --parent.