bergeronnette a écritJe viens de comprendre que la commande f/.jpg supprime l'extension car $f c'est tout le nom + l’extension.
Oui et non :
${f/.jpg} supprime la première occurrence de
.jpg dans
$f.
Si il se trouve qu'il n'y a qu'une occurrence à la fin de
$f, qui est donc l'extension, alors ça la supprime effectivement.
Mais si tu as par exemple pour
$f le résultat erroné dont tu parlais (
image.jpg.33.jpg), alors tu auras :
$ echo ${f/.jpg}
image.33.jpg
Par ailleurs, avec la première méthode, on obtient :
$ echo $f | cut -d. -f1
image
Donc la bonne manière de faire est plutôt :
$ echo ${f%.jpg}
image.jpg.33