Поиск и исправление FLAC-файлов с некорректными метаданными: различия между версиями
Материал из Linux Wiki
				
				
				Перейти к навигацииПерейти к поиску
				
				Rain (обсуждение | вклад)   (Создана новая страница размером Этот небольшой скрипт найдет все FLAC-файлы в аудиоколлекции, в которых: * отс...)  | 
			
(нет различий) 
 | 
Текущая версия от 14:16, 5 мая 2009
Этот небольшой скрипт найдет все FLAC-файлы в аудиоколлекции, в которых:
- отсутствует SEEKTABLE (из-за этого, например, в amarok может не работать перемотка на треке)
 - устаревший кодек (не соответствует указанной в скрипте версии)
 - битая строка, в которой указывается тип и версия кодека (на таких файлах, возможно, вешается easytag)
 
find ./ -iname \*.flac |
while read file
do
metaflac="$(metaflac --list "${file}")" && \
[[ "$(grep -q 'reference libFLAC 1.2.1' <<< $metaflac && echo 1)" == '1' && "$(grep -q 'SEEKTABLE' <<< $metaflac && echo 1)" == '1' ]] || echo ${file%/*}
done | sort -u
Скрипт выдаст список альбомов/каталогов, в которых встречаются "битые" файлы, после чего каждый альбом можно будет обработать скриптом для обновления кодека и метаданных (возможно позже я сделаю, чтобы тот скрипт мог обрабатывать отдельные файлы, тогда в этом можно будет делать вывод не целого альбома, а только нужных файлов... А пока так, для надежности :))
 | while read album ; do cd "${album}" ; flacupdate.sh ; cd - ; done