Crie vários diretórios a partir de informações do Mediainfo para colocar músicas

Crie vários diretórios a partir de informações do Mediainfo para colocar músicas

Eu tenho um script bash que passa pela minha pasta de músicas, obtém todos os metadados da música cominformações de mídiae tem como objetivo criar pastas com os nomes de todos os artistas, mas falha.

Este é o código até agora:

#!/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

Por alguma razão, parece que ele percorre todas as músicas primeiro e depois tenta criar um diretório com todos os seus nomes combinados; minha intenção é criar um diretório para o artista encontrado pelo Mediainfo em cada arquivo de música.

Responder1

Você podeIterar sobre arquivossem 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

informação relacionada