У меня есть 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