Esto es un poco tarde, pero pensé que agregaría que una mejor solución (aunque quizás menos legible) que las hasta ahora podría ser:
find /path -type f -not -name "*.*" -print0 | xargs -0 rename 's/(.)$/$1.jpg/'
Utilizando la find | xargs
patrón generalmente resulta en una ejecución más eficiente, ya que no tiene que bifurcar un nuevo proceso para cada archivo.
Tenga en cuenta que esto requiere la versión de cambio de nombre que se encuentra en las distribuciones con sabor a Debian (también conocido como prename), en lugar del cambio de nombre tradicional. Sin embargo, es solo un pequeño script de Perl, por lo que sería bastante fácil usar el comando anterior en cualquier sistema.