GNU/Linux >> Tutoriales Linux >  >> Linux

4 formas de convertir por lotes su PNG a JPG y viceversa

En informática, Lote El procesamiento es la ejecución de una serie de tareas en un programa de forma no interactiva. En esta guía, le ofreceremos 4 formas sencillas de convertir por lotes varios .PNG imágenes a .JPG y viceversa utilizando las herramientas de línea de comandos de Linux.

Usaremos convertir herramienta de línea de comandos en todos los ejemplos, sin embargo, también puede utilizar mogrify para lograr esto.

La sintaxis para usar convert es:

$ convert input-option input-file output-option output-file

Y para mogrify es:

$ mogrify options input-file

Nota :Con mogrify , el archivo de imagen original se reemplaza con el nuevo archivo de imagen de forma predeterminada, pero es posible evitar esto mediante el uso de ciertas opciones que puede encontrar en la página de manual.

A continuación se muestran las diversas formas de convertir por lotes todos sus .PNG imágenes a .JPG formato, si desea convertir .JPG a .PNG , puedes modificar los comandos según tus necesidades.

1. Convierta PNG a JPG usando los comandos 'ls' y 'xargs'

El comando ls te permite listar todos tus png imágenes y xargs hacen posible construir y ejecutar una conversión comando desde la entrada estándar para convertir todo .png imágenes a .jpg .

----------- Convert PNG to JPG ----------- 
$ ls -1 *.png | xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"'

----------- Convert JPG to PNG ----------- 
$ ls -1 *.jpg | xargs -n 1 bash -c 'convert "$0" "${0%.jpg}.png"'

Explicación sobre las opciones utilizadas en el comando anterior.

  1. -1 – la bandera le dice a ls para enumerar una imagen por línea.
  2. -n – especifica el número máximo de argumentos, que es 1 para el caso.
  3. -c – le indica a bash que ejecute el comando dado.
  4. ${0%.png}.jpg – establece el nombre de la nueva imagen convertida, el % sign ayuda a eliminar la extensión de archivo anterior.

Usé ls -ltr Comando para enumerar todos los archivos por fecha y hora de modificación.

Del mismo modo, puede usar el comando anterior para convertir todos sus .jpg imágenes a .png modificando el comando anterior.

2. Convierta PNG a JPG usando el comando GNU 'Parallel'

GNU paralelo permite a un usuario crear y ejecutar comandos de shell desde la entrada estándar en paralelo. Asegúrese de tener GNU Parallel instalado en su sistema; de lo contrario, instálelo usando los comandos apropiados a continuación:

$ sudo apt-get install parallel     [On Debian/Ubuntu systems]
$ sudo yum install parallel         [On RHEL/CentOS and Fedora]

Una vez Paralelo utilidad instalada, puede ejecutar el siguiente comando para convertir todos los .png imágenes a .jpg formato de la entrada estándar.

----------- Convert PNG to JPG ----------- 
$ parallel convert '{}' '{.}.jpg' ::: *.png

----------- Convert JPG to PNG -----------
$ parallel convert '{}' '{.}.png' ::: *.jpg

donde,

  1. {} – línea de entrada que es una cadena de reemplazo sustituida por una línea completa leída de la fuente de entrada.
  2. {.} – línea de entrada menos extensión.
  3. ::: – especifica la fuente de entrada, que es la línea de comando para el ejemplo anterior donde *png o *jpg es el argumento.

Alternativamente, también puede usar ls y parallel comandos juntos para convertir por lotes todas sus imágenes como se muestra:

----------- Convert PNG to JPG ----------- 
$ ls -1 *.png | parallel convert '{}' '{.}.jpg'

----------- Convert JPG to PNG -----------
$ ls -1 *.jpg | parallel convert '{}' '{.}.png'

3. Convierta PNG a JPG usando el comando 'for loop'

Para evitar el ajetreo de escribir un script de shell, puede ejecutar un for loop desde la línea de comando de la siguiente manera:

----------- Convert PNG to JPG ----------- 
$ bash -c 'for image in *.png; do convert "$image" "${image%.png}.jpg"; echo “image $image converted to ${image%.png}.jpg ”; done'

----------- Convert JPG to PNG -----------
$ bash -c 'for image in *.jpg; do convert "$image" "${image%.jpg}.png"; echo “image $image converted to ${image%.jpg}.png ”; done'

Descripción de cada opción utilizada en el comando anterior:

  1. -c permite la ejecución de la declaración de bucle for entre comillas simples.
  2. La imagen variable es un contador para el número de imágenes en el directorio.
  3. Para cada operación de conversión, el comando echo informa al usuario que una imagen png se ha convertido a jpg format y viceversa en la línea $image convertido a ${image%.png}.jpg ”.
  4. “${imagen%.png}.jpg” crea el nombre de la imagen convertida, donde % elimina la extensión del antiguo formato de imagen.

4. Convierta PNG a JPG usando Shell Script

Si no desea ensuciar su línea de comandos como en el ejemplo anterior, escriba un pequeño script como este:

Nota :Intercambie apropiadamente el .png y .jpg extensiones como en el siguiente ejemplo para la conversión de un formato a otro.

#!/bin/bash
#convert
for image in *.png; do
        convert  "$image"  "${image%.png}.jpg"
        echo “image $image converted to ${image%.png}.jpg ”
done
exit 0 

Guárdelo como convert.sh y haga que el script sea ejecutable y luego ejecútelo desde el directorio que tiene sus imágenes.

$ chmod +x convert.sh
$ ./convert.sh

En resumen, cubrimos algunas formas importantes de convertir por lotes .png imágenes a .jpg formato y viceversa. Si desea optimizar imágenes, puede consultar nuestra guía que muestra cómo comprimir imágenes png y jpg en Linux.

También puede compartir con nosotros cualquier otro método, incluidas las herramientas de línea de comandos de Linux para convertir imágenes de un formato a otro en la terminal, o hacer una pregunta a través de la sección de comentarios a continuación.


Linux
  1. 6 formas de aumentar su perfil y potencial de ingresos de administrador de sistemas de Linux

  2. ¿Ordenar Jpg según la fecha de creación y convertir a un solo PDF?

  3. Metamorphose 2:cambie el nombre por lotes de sus archivos y carpetas en Linux

  4. Usar SFTP y SCP

  5. Conversión por lotes de Linux:cambie la calidad de jpg con convertir pero mantenga su nombre

Cómo convertir por lotes archivos PDF en Linux

Convierta PNG a JPEG, JPEG a PNG usando la línea de comando en Ubuntu

¿Cómo convertir PNG, JPEG a WebP en Ubuntu? (También WebP a PNG y JPEG)

Cómo convertir un archivo PDF a una imagen PNG/JPG en Linux

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

Cómo convertir PDF a imágenes PNG y viceversa en Linux