Перечисление и удаление альбомов со слишком маленьким битрейтом звука
Я чищу свою музыкальную библиотеку и застрял с избавлением от тысяч альбомов с битрейтом <320kbps, которые собирались там годами. Проверка битрейта отдельных файлов и удаление всей папки вручную очень утомительно. Может быть, кто-то здесь может придумать идею, которая поможет мне с уборкой? Я бы хотел, чтобы после этого были только MP3-файлы со скоростью 320 кбит / с и флаки. Заранее спасибо!
2 ответа
Вот подход оболочки. Он удалит все каталоги, которые не содержат .mp3 файлы с битрейтом>= 320 кбит / с:
find /path/to/Music -type d -print0 |
while IFS= read -r -d '' dir; do
mp3=$(find "$dir" -type f -iname '*.mp3' | head -n 1);
[ -e "$mp3" ] && [[ $(mp3info -x "$mp3" | grep -oP '\d+(?=\s*kbps)') -lt 320 ]] &&
rm -rf "$(dirname "$mp3")";
done
Заметки
Это удалит все каталоги, которые содержат как минимум один mp3-файл с битрейтом менее 320. Если в том же каталоге есть другой файл с правильным битрейтом, он также будет удален. Этот подход предполагает, что все файлы в каталоге имеют одинаковую скорость передачи данных.
Это пропустит файлы с переменным битрейтом.
Он должен работать с любым типом имени файла, в том числе с пробелами, переводом строки и даже обратной косой чертой.
Вам может понадобиться установить
mp3info:sudo apt-get install mp3infoСначала запустите его в тестовом каталоге.
объяснение
find /path/to/Music -type d -print0: найти все каталоги под/path/to/Musicи распечатать их через пустую строку. Это необходимо для работы со странными именами файлов.while IFS= read -r -d '' dir; do: просмотреть каждый из результатовfind, сохраняя их в$dirпеременная.mp3=$(find "$dir" -type f -iname '*.mp3' | head -n 1);: сохранить имя первого mp3-файла в этом каталоге как$mp3,[ -e "$mp3" ]: если этот файл существует. Это необходимо для пропуска каталогов без mp3 файлов.[[ $(mp3info -x "$mp3" | grep -oP '\d+(?=\s*kbps)') -lt 320 ]]: это проверяет битрейт$mp3, Работаетmp3info, подбирает битрейт и проверяет, меньше ли он320,rm -rf "$(dirname "$mp3")";: удалить каталог, содержащий mp3-файл. Это будет выполняться только в том случае, если его битрейт меньше желаемого.
Из комментария David Foerster я бы использовал Banshee.
Импортируйте все свои медиа-файлы из нужной папки (или даже целых разделов), перейдя в media->import media и выберите папки.
После того, как все ваши медиафайлы были импортированы, щелкните правой кнопкой мыши по столбцу (как показано на скриншоте ниже) и выберите Bitrate, Затем нажмите на название столбца, чтобы упорядочить по этому столбцу.
Затем вы можете выбрать битрейт, который вы хотите (в вашем случае 320), прокрутить вниз, нажать Shift и щелкнуть последнюю песню. Затем щелкните правой кнопкой мыши на выбранных песнях и выберите Delete from Drive,
