J'essaie de convertir un fichier de musique au format .gsm
au format .wav
. C'est comme ça que j'ai essayé
for f in *.gsm; do sox $f new/${f%.wav}; done
Le résultat est que je reçois les mêmes fichiers avec le même format .gsm
dans le répertoire new/
.
Quelqu'un peut-il indiquer quel est le problème ici?
${f%.wav}
supprime .wav
de la fin de la variable. Comme f
ne contient jamais que des noms de fichiers avec .gsm
à la fin, ${f%.wav}
renvoie le nom de fichier inchangé.
Vous voulez probablement que "${f%.gsm}.wav"
à la place (en supposant que soit (a) sox
ait effectivement converti les fichiers et que seule l’extension soit incorrecte, ou bien (b) sox
utilise les noms de fichier pour déterminer la conversion requise; la fixation des noms de fichiers permettrait de réparer la conversion).