Создайте несколько каталогов из информации Mediainfo для размещения музыки

Создайте несколько каталогов из информации Mediainfo для размещения музыки

У меня есть bash-скрипт, который проходит по моей папке с музыкой, получает все метаданные песен с помощьюмедиа информацияи предназначен для создания папок с именами всех исполнителей, но это не удается.

Вот код на данный момент:

#!/bin/bash
cd Music/
for i in "$(ls -b | grep -v /)"; do
    info=$(mediainfo $i)
    artist=$(echo "$info" | grep "^Performer" | awk '{for(i=3;i<=NF;++i)printf $i""FS ; print ""}')
    mkdir "$artist"
done

По какой-то причине он сначала просматривает все песни, а затем пытается создать каталог, в котором объединены все их названия; я же хочу создать каталог для исполнителя, найденного Mediainfo в каждом музыкальном файле.

решение1

Ты можешьИтерация по файламбез ls.

for i in ./Music/*; do
    info=$(mediainfo "$i") # fixed to "$i"
    artist=$(echo "$info" | grep "^Performer" | awk '{for(i=3;i<=NF;++i)printf $i""FS ; print ""}')
    mkdir "$artist"
done

Связанный контент