У меня есть много MP3-песен в каталоге, и я хочу отсортировать их по исполнителю, так что имя каждого исполнителя-это каталог, содержащий музыку этого исполнителя.
Пакетная сортировка песен в каталоге по исполнителю в Unix [закрыто]
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.
Я не уверен, на какой ОС вы находитесь, но поскольку ваш вопрос был помечен как 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, просто поиск через ваш любимый источник программного обеспечения, по крайней мере, некоторые из которых также должны быть в состоянии сделать это.
Я бы сделал это на Python, с помощью инструмента, указанного в это ответ на переполнение стека,eyeD3.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]