GNU/Linux >> Linux Esercitazione >  >> Linux

4 modi per convertire in batch il tuo PNG in JPG e viceversa

In informatica, Batch l'elaborazione è l'esecuzione di una serie di attività in un programma in modo non interattivo. In questa guida ti offriremo 4 semplici modi per convertire in batch diversi .PNG immagini in .JPG e viceversa utilizzando gli strumenti della riga di comando di Linux.

Useremo convert strumento da riga di comando in tutti gli esempi, tuttavia, puoi anche utilizzare mogrify per raggiungere questo obiettivo.

La sintassi per l'utilizzo di convert è:

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

E per mogrify è:

$ mogrify options input-file

Nota :Con mogrify , il file immagine originale viene sostituito per impostazione predefinita con il nuovo file immagine, ma è possibile prevenirlo utilizzando alcune opzioni che puoi trovare nella pagina man.

Di seguito sono riportati i vari modi per convertire in batch tutti i tuoi .PNG immagini in .JPG formato, se vuoi convertire .JPG a .PNG , puoi modificare i comandi in base alle tue esigenze.

1. Converti PNG in JPG usando i comandi "ls" e "xargs"

Il comando ls ti permette di elencare tutti i tuoi png immagini e xargs consentono di creare ed eseguire una conversione comando dallo standard input per convertire tutti i .png immagini in .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"'

Spiegazione sulle opzioni utilizzate nel comando precedente.

  1. -1 – la bandiera dice a ls per elencare un'immagine per riga.
  2. -n – specifica il numero massimo di argomenti, che è 1 per il caso.
  3. -c – indica a bash di eseguire il comando dato.
  4. ${0%.png}.jpg – imposta il nome della nuova immagine convertita, il % sign aiuta a rimuovere la vecchia estensione di file.

Ho usato ls -ltr comando per elencare tutti i file per data e ora modificate.

Allo stesso modo, puoi usare il comando sopra per convertire tutti i tuoi .jpg immagini in .png modificando il comando precedente.

2. Converti PNG in JPG usando il comando GNU "Parallelo"

GNU Parallel consente a un utente di creare ed eseguire comandi di shell dallo standard input in parallelo. Assicurati di avere GNU Parallel installato sul tuo sistema, altrimenti installalo usando i comandi appropriati qui sotto:

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

Una volta parallelo utilità installata, puoi eseguire il seguente comando per convertire tutti i .png immagini in .jpg formato dallo standard input.

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

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

Dove,

  1. {} – riga di input che è una stringa sostitutiva sostituita da una riga completa letta dalla sorgente di input.
  2. {.} – riga di input meno estensione.
  3. ::: – specifica la sorgente di input, ovvero la riga di comando per l'esempio precedente dove *png o *jpg è l'argomento.

In alternativa, puoi anche usare ls e parallelo comandi insieme per convertire in batch tutte le tue immagini come mostrato:

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

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

3. Converti PNG in JPG usando il comando "for loop"

Per evitare la fatica di scrivere uno script di shell, puoi eseguire un for loop dalla riga di comando come segue:

----------- 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'

Descrizione di ciascuna opzione utilizzata nel comando precedente:

  1. -c consente l'esecuzione dell'istruzione for loop tra virgolette singole.
  2. L'immagine variabile è un contatore per il numero di immagini nella directory.
  3. Per ogni operazione di conversione, il comando echo informa l'utente che un'immagine png è stata convertita in jpg format e viceversa nella riga $image convertito in ${image%.png}.jpg ”.
  4. "${image%.png}.jpg" crea il nome dell'immagine convertita, dove % rimuove l'estensione del vecchio formato immagine.

4. Converti PNG in JPG usando lo script Shell

Se non vuoi sporcare la tua riga di comando come nell'esempio precedente, scrivi un piccolo script come questo:

Nota :scambiare opportunamente il .png e .jpg estensioni come nell'esempio seguente per la conversione da un formato all'altro.

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

Salvalo come convert.sh e rendi eseguibile lo script, quindi eseguilo dalla directory che contiene le tue immagini.

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

In sintesi, abbiamo illustrato alcuni modi importanti per convertire in batch .png immagini in .jpg formato e viceversa. Se vuoi ottimizzare le immagini, puoi consultare la nostra guida che mostra come comprimere le immagini png e jpg in Linux.

Puoi anche condividere con noi qualsiasi altro metodo, inclusi gli strumenti a riga di comando di Linux per convertire le immagini da un formato all'altro sul terminale, o porre una domanda tramite la sezione commenti qui sotto.


Linux
  1. Ordinare Jpg in base alla data di creazione e convertirlo in Pdf singolo?

  2. Usa SFTP e SCP

  3. Conversione in batch di PNG in JPG in Linux

  4. Come convertire una foto in un'immagine in bianco e nero con ImageMagick?

  5. Ridimensiona e comprimi in batch i file PDF

Come convertire in batch file PDF su Linux

Converti PNG in JPEG, JPEG in PNG usando la riga di comando in Ubuntu

Come convertire PNG, JPEG in WebP in Ubuntu? (Anche WebP in PNG e JPEG)

Come convertire un file PDF in un'immagine PNG/JPG in Linux

Come convertire in batch le immagini PNG in formato JPG in Linux

Come convertire PDF in immagini PNG e viceversa in Linux