Uma sugestão de bash:
for file in *.JPG; do newfile='echo $file|sed 's/.JPG$/.jpg/'' ; mv -i "$file" "$newfile" ; done
Faz um loop sobre todos os arquivos com uma extensão .JPG, e para cada um deles ele usa sed para construir o novo nome de arquivo transformando um terminal .JPG em um terminal .jpg e executa o mv. O -i
é apenas no caso de você ter um fred.JPG e um fred.jpg já. Não se esqueça de distinguir entre aspas simples e backticks, sendo que ambos são usados e não são intercambiáveis.