GNU/Linux >> Tutoriales Linux >  >> Linux

Convierta un montón de archivos BMP a JPEG en Linux

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.


Linux
  1. Convierta archivos de audio con este versátil comando de Linux

  2. Cómo convertir archivos a codificación UTF-8 en Linux

  3. Comandos de búsqueda de Linux

  4. archivos de registro de Linux

  5. Conversión por lotes de PNG a JPG en Linux

Cómo convertir por lotes archivos PDF en Linux

Steganography – Ocultar archivos dentro de imágenes en Linux

Cómo convertir archivos PDF a formato EPUB usando Calibre en Linux

Cómo convertir imágenes de cámara sin procesar a JPEG en Linux

Cómo convertir por lotes imágenes PNG a formato JPG en Linux

Comando ls en Linux/UNIX