Puedes usar la herramienta mogrify de ImageMagick
mogrify -format jpg *.bmp
Es probable que tenga instalado ImageMagick en Ubuntu.
Eso puede hacer,
convert filename.bmp filename.jpg
actualizar:
El mogrify
(respondido por hyperslug
y referido por cjm
) también es una buena opción.
Usa el mogrify programa para cambiar el tamaño de una imagen, desenfocar, recortar, quitar manchas, difuminar, dibujar, voltear, unir, volver a muestrear y mucho más.
Esta herramienta es similar a convertir excepto que el archivo de imagen original se sobrescribe
(a menos que cambie el sufijo del archivo con el -format
opción) con cualquier cambio que solicite.
Permítanme hacer un pequeño cambio en la respuesta de salmonmoose:
for i in `ls *.bmp`; do convert $i $i.jpg; done
Lo anterior funciona pero genera archivos llamados "bmp.jpg". Puede obtener archivos .jpg con este comando:
for i in *.bmp; do convert ${i} ${i%bmp}jpg; done
Ver man bash
para obtener detalles del for
dominio. El ${i%bmp}
part significa la cadena "${i}" sin la subcadena "bmp" al final.
Hay otras operaciones para transformar la cadena en "${i}". "$i" es una abreviatura de "${i}". El ls *.bmp
parte de la respuesta de salmonmoose significa "ejecutar ls *.bmp
, luego para i
part asigna cada cadena separada por espacios a i
". Lo mismo se logra con *.bmp
porque coincide con todos los nombres de archivo en el directorio.
Hay un inconveniente con for
- si los archivos en su directorio tienen espacios en el nombre, por ejemplo "foto de boda 1.bmp", se asignará 3 veces al i
var, ejecutando estos comandos:
convert wedding wedding.jpg
convert picture picture.jpg
convert 1.bmp 1.bmp.jpg
En mi respuesta también falla la coincidencia "${i%bmp}".
Pero hay una solución:puedes usar el find
comando en su lugar. Ver man find
para detalles. Debe escribir algo como lo siguiente (verifique la sintaxis con la página del manual antes de intentarlo):
find -name *.bmp -type f -exec convert '{}' '{}'.jpg \;
(No estoy muy seguro de la parte del nombre, y tengo alguna duda en el -exec
parte, ver man find
primero)
Si desea unir todas las imágenes en un archivo .jpg, puede concatenarlas con otro filtro, como el mencionado en la primera respuesta.