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
– la bandera le dice a ls para enumerar una imagen por línea.-n
– especifica el número máximo de argumentos, que es 1 para el caso.-c
– le indica a bash que ejecute el comando dado.${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,
{}
– línea de entrada que es una cadena de reemplazo sustituida por una línea completa leída de la fuente de entrada.{.}
– línea de entrada menos extensión.:::
– 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:
- -c permite la ejecución de la declaración de bucle for entre comillas simples.
- La imagen variable es un contador para el número de imágenes en el directorio.
- 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 ”.
- “${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.