Установите команду flac
из пакета с тем же именем и запустите
#!/bin/bash
find . -name '*.wav' |
while read file # eg stuff/artist/album/title.wav
do file="$PWD/${file#./}" # make absolute to get more info
album=${file%/*} # stuff/artist/album
artist=${album%/*} # stuff/artist
album=${album##*/} # album
artist=${artist##*/} # artist
title=${file##*/} # title.wav
title=${title%.wav} # title
flac -s --best --delete-input-file \
--tag="TITLE=$title" \
--tag="ALBUM=$album" \
--tag="ARTIST=$artist" \
"$file" # creates .flac removes .wav
done
Заголовок - это базовое имя файла без суффикса .wav,
альбом - это непосредственный каталог выше и оформить каталог
выше. Параметр - delete-input-file
удаляет .wav. См. Расширение параметров на странице руководства bash
для $ {var% pattern}
, которое удаляет шаблон глобуса (т.е. сформированный с помощью *
?
и [...]
)
в конце переменной или в начале ($ {var # pattern});
%% и # # версии удаляют самые длинные совпадения.