Я имею о 30K песнях в mp3. Я уже организовал/отметил их с Musicbrainz Picard. Но Picard сделал избыток папок и подпапок друг в друге из-за тегов.
В чем я нуждаюсь, теперь сценарий, чтобы считать каждую подпапку и переместить все mp3 файлы в папках подпапки к основной подпапке. Например:
Music -
Offspring -
Album 1 - 20 songs
Album 2 - 30 songs
Album 3 - 5 Songs
Folder 1 - 2 Songs
Folder 2 - 3 Songs
Journey -
Song Pack 1 - 2 Songs
Packy 1 - 15 Songs
Packy 2 - 20 Songs
Packy 3 - 7 Songs
Album 2 - 20 songs
Whatever 3 - 10 Songs
После запущения скрипта они были бы похожи на это:
Music -
Offspring - All Songs inside THIS folder. Not inside subfolders of Offspring.
Journey - All Songs inside THIS folder. Not inside subfolders of Journey.
И так далее..
Таким образом, вся музыка для каждой подпапки каждой музыкальной группы не должна больше иметь подпапок, и все песни в их соответствующих подподпапках должны быть перемещены в основную подпапку музыкальной группы.
Таким образом, когда я проверяю Музыку, и я вижу Bee Gees затем, я ЗНАЮ, что все песни тут же и не в некоторой подпапке Bee Gees.
ОТМЕТЬТЕ - В некоторых случаях существует больше чем 20 рекурсивных подпапок. Пример: Music/Lady Gaga/1/Album/Lady Gaga/2/2/2/1/1/1/1/3/3Album 2/Lady Gaga/1/1/1/SONG.mp3
. В этом случае я хочу их внутри Music/Lady Gaga
и устранить остальную часть папок.
Я предлагаю следующее (протестированный, но без гарантии) сценарий, чтобы быть выполненным из основного каталога, в соответствии с которым живут все каталоги художников:
#!/bin/bash
for f in *; do
find "$f" -mindepth 2 -type f -exec mv --backup=numbered -t "$f" {} +
done
for f in *; do
find "$f" -mindepth 1 -type d
done |
sort -r |
while read d; do
rmdir "$d"
done
Это также заботится о дубликатах и пустом удалении подкаталогов.
Взгляните на Easytag .
sudo apt-get install easytag
Параметр сканера (Сканер-> Переименовывают Файлы и Каталог) способен для перестраивания файлов на основе параметров от идентификационного тега.
Пример:
Artist/Track# - track name.ogg`: `%a/%n - %t
привел бы к:
Принц/07 - Фиолетовый Rain.ogg
Если Вы имеете, располагают достаточно с интервалами для резервного копирования музыки, прежде чем Вы сделаете это, Вы могли бы хотеть сделать это. Я протестировал его, но это прибывает без гарантии - если это повреждается, Вы добираетесь для хранения всех частей.
Я сделал это под предположением (перенесенный из Вашего описания), что Вам подразделил основную папку художник, далее подразделенный альбомом. Если это соответствует Вашей установке, продолжить.
В терминале, CD в Ваш музыкальный каталог, и выполненный эта команда (в ударе):
for j in * ; do (cd "$j" ; (for i in * ; do (cd "$i" ; find . -name \*.[mM][pP]3 -exec mv {} . \; ) ; done)) ; done
Если Вы имеете вопросы, просто спрашиваете.
Вы смогли изменять настройки для Picard так, чтобы это не создавало эту иерархию каталогов для начала - tt, возможно, что это несколько полагается на эти файлы, остающиеся, где это оставило их.