У меня есть папка с названием Music, в которой есть подпапки разных исполнителей, содержащие множество файлов .flac. Я пытаюсь преобразовать все из них в формат файла .wav, а затем преобразовать их в Apple Alac, потому что прямое преобразование не работает правильно, но суть в том, что я преобразовал некоторые из них раньше, но не все из них ,
Моя папка выглядит в основном так:
Музыка /ArtistX /Song1.flac
Musik /ArtistX /Song1.m4a
Musik /ArtistX /Song2.flac
Musik / Артисты /Song1.flac
Musik / Артисты /Song1.m4a
В основном я хочу команду, которая позволяет мне преобразовывать только файлы .flac, у которых нет соответствующего файла .m4a рядом с ними. В прошлом я просто снова конвертировал их все, запустив этот сырой цикл for:
for f in ./**/*.flac; do ffmpeg -i "$f" "${f%.*}.wav"; done && for f in ./**/*.wav; do ffmpeg -n -i "$f" -acodec alac "${f%.*}.m4a"; done && find . -type f -name '*.wav' -delete
Но это очень неэффективно для моей текущей настройки.
PS: если это вообще возможно, я бы предпочел использовать ffmpeg.