Serge Schmitt a écrit :
Salut !
Je me sers avec bonheur de ce script :
(je sais... mais on m'a offert un iPod mini il y a un an !)
for i in *.ogg; do ogg123 -d wav -f - "$i" | lame -b 160 -h -
"$i".mp3; done
Ce script présente le défaut suivant :
truc.ogg est réencodé/nommé truc.ogg.mp3 !
Est-il possible de modifier ce script pour supprimer le ".ogg." du mp3 ?
Cela nécessite en l'état un renommage un peu fastidieux (je ne transfère
pas tous mes albums en une fois), et je ne sais pas comment chercher
une telle solution...
Merci pour les pistes.
J'ai une deuxième proposition, que j'avais trouvée parce que mes boucles
'for' avaient des comportements douteux avec divers caractères, espaces
en particulier: (-maxdepth permet de ne pas descendre dans l'arborescence)
find [-maxdepth 1] -name *.ogg | ( while read source; do ogg123 -d wav
-f - "$source" | lame -b 160 -h - > "$(basename "$source" .ogg).mp3"; done )
PS: le tout en une ligne, et ce sont bien des parenthèses et non des
accolades.