Похожие вопросы

Пакетная сортировка песен в каталоге по исполнителю в Unix [закрыто]

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

5
задан Sathya
источник

3 ответов

это предполагает, что ваши теги mp3 находятся в формате id3v2. id3v1 форматирует вещи немного по-другому. Я рекомендую что-то вроде mediainfo для этого. В этом примере используется id3v2

for file in *.mp3; do
    IFS=$':'
    artist="$(id3v2 -l "${file}" | grep "TPE1" | awk '{ print  }')"
    # Your artist name is now stored in $artist.
    # This example just creates an artist directory and moves the file into it.
    # Terrible way to organize music, but this is a demonstration!
    [[ ! -d "${artist}" ]] && mkdir -p "${artist}"
    mv -f "${file}" "${artist}"
done

реальное решение - использовать что-то вроде MusicBrainz Picard.

3
отвечен UtahJarhead 2012-10-05 18:30:55
источник

Я не уверен, на какой ОС вы находитесь, но поскольку ваш вопрос был помечен как Unix-Программирование, я предположу, что вы находитесь на *ix. Итак, если вы можете установить id3tool вы можете запустить следующую командную строку BASH:

find . -name "*.mp3" | while read n; do 
    dir=`id3tool "$n" | grep Artist | cut -f 3 | sed 's/\s*$//'`; 
    mkdir -p "$dir"; 
    mv "$n" "$dir"/"$n" ; 
done

пояснение:

этот маленький скрипт будет перебирать каждый из ваших mp3 файлов, извлекать имя исполнителя, используя id3tool и сохраните его в переменной $dir. Затем он создаст каталог с именем исполнителя (если только он уже не exists) и переместите файл в этот каталог.

вы также можете сделать это в графическом интерфейсе с помощью музыкальных плееров, таких как amarok, которые предлагают эту функцию (или, по крайней мере, он привык). Есть также различные редакторы id3, просто поиск через ваш любимый источник программного обеспечения, по крайней мере, некоторые из которых также должны быть в состоянии сделать это.

0
отвечен terdon 2012-10-05 18:44:05
источник

Я бы сделал это на Python, с помощью инструмента, указанного в это ответ на переполнение стека,eyeD3.

0
отвечен bernard paulus 2017-05-23 12:41:46
источник

Другие вопросы bash music-management