${string%.*}
removerá a parte mais curta correspondente a .*
Veja, por exemplo, Expansão de Parâmetros no excelente BashGuide
echo ${string##*.} # this will show everything after last "."
Como posso reverter (negar) isso - mostrar tudo antes do último "."
${string%.*}
removerá a parte mais curta correspondente a .*
Veja, por exemplo, Expansão de Parâmetros no excelente BashGuide