4 Möglichkeiten zur Stapelkonvertierung Ihres PNG in JPG und umgekehrt

Beim Rechnen,ChargeVerarbeitung ist diein einem Programm nicht interaktiv. In dieser Anleitung werden Ihnen 4 einfache Möglichkeiten zur Stapelkonvertierung mehrerer Dateien vorgestellt.PNGBilder zu.JPGund umgekehrt mit Linux-Befehlszeilentools.

Wir werden verwendenkonvertierenSie können in allen Beispielen jedoch auch das Befehlszeilentool verwendenmogrifizierenum dies zu erreichen.

Die Syntax für die VerwendungkonvertierenIst:

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

Und fürmogrifizierenIst:

$ mogrify options input-file

Notiz: Mitmogrifizieren, wird die ursprüngliche Bilddatei standardmäßig durch die neue Bilddatei ersetzt, aber Sie können dies verhindern, indem Sie bestimmte Optionen verwenden, die Sie in der Manpage finden.

Nachfolgend finden Sie die verschiedenen Möglichkeiten zur Stapelkonvertierung Ihrer Daten.PNGBilder zu.JPGFormat, wenn Sie konvertieren möchten.JPGZu.PNGkönnen Sie die Befehle entsprechend Ihren Anforderungen ändern.

1. Konvertieren Sie PNG in JPG mit den Befehlen „ls“ und „xargs“.

Derermöglicht es Ihnen, alle Ihre aufzulistenpngBilder undxargsermöglichen den Aufbau und die Ausführung eineskonvertierenBefehl aus der Standardeingabe, um alle zu konvertieren.pngBilder zu.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"'

Erläuterung der im obigen Befehl verwendeten Optionen.

  1. -1– Flagge erzähltlsum ein Bild pro Zeile aufzulisten.
  2. -n– gibt die maximale Anzahl von Argumenten an1für den Fall.
  3. -c– weist Bash an, den angegebenen Befehl auszuführen.
  4. ${0%.png}.jpg– legt den Namen des neu konvertierten Bildes fest%sign hilft dabei, die alte Dateierweiterung zu entfernen.
Konvertieren Sie PNG in das JPG-Format unter Linux

Ich habe verwendetls -ltrBefehl zu.

Ebenso können Sie den obigen Befehl verwenden, um alle Ihre zu konvertieren.jpgBilder zu.pngindem Sie den obigen Befehl anpassen.

2. Konvertieren Sie PNG in JPG mit dem GNU-Befehl „Parallel“.

GNU Parallelermöglicht es einem Benutzer, Shell-Befehle parallel über die Standardeingabe zu erstellen und auszuführen. Stellen Sie sicher, dass GNU Parallel auf Ihrem System installiert ist, andernfalls installieren Sie es mit den entsprechenden Befehlen unten:

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

EinmalParallelWenn das Dienstprogramm installiert ist, können Sie den folgenden Befehl ausführen, um alle zu konvertieren.pngBilder zu.jpgFormat aus der Standardeingabe.

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

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

Wo,

  1. {}– Eingabezeile, bei der es sich um eine Ersatzzeichenfolge handelt, die durch eine vollständige aus der Eingabequelle gelesene Zeile ersetzt wird.
  2. {.}– Eingabezeile minus Erweiterung.
  3. :::– gibt die Eingabequelle an, d. h. die Befehlszeile für das obige Beispiel*pngoder*jpgist das Argument.
Paralleler Befehl – ​​Konvertiert alle PNG-Bilder in das JPG-Format

Alternativ können Sie auch verwendenUndparallelBefehle zusammen, um alle Ihre Bilder wie gezeigt stapelweise zu konvertieren:

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

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

3. Konvertieren Sie PNG in JPG mit dem Befehl „for loop“.

Um den Aufwand beim Schreiben eines Shell-Skripts zu vermeiden, können Sie ein ausführenfor loopüber die Befehlszeile wie folgt:

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

Beschreibung jeder Option, die im obigen Befehl verwendet wird:

  1. -Cermöglicht die Ausführung der for-Schleifenanweisung in einfachen Anführungszeichen.
  2. DerBildVariable ist ein Zähler für die Anzahl der Bilder im Verzeichnis.
  3. Für jeden Konvertierungsvorgang wird dieinformiert den Benutzer darüber, dass ein PNG-Bild konvertiert wurdejpgFormat und umgekehrt in der Zeile$imagekonvertiert zu${image%.png}.jpg“.
  4. „${image%.png}.jpg“erstellt den Namen des konvertierten Bildes, wo%Entfernt die Erweiterung des alten Bildformats.
for-Schleife – Konvertieren Sie PNG in das JPG-Format

4. Konvertieren Sie PNG mit Shell-Skript in JPG

Wenn Sie Ihre Befehlszeile nicht wie im vorherigen Beispiel verunreinigen möchten, schreiben Sie ein kleines Skript wie dieses:

Notiz: Tauschen Sie die entsprechend aus.pngUnd.jpgErweiterungen wie im Beispiel unten für die Konvertierung von einem Format in ein anderes.

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

Speichern Sie es unterconvert.shMachen Sie das Skript ausführbar und führen Sie es dann in dem Verzeichnis aus, in dem sich Ihre Bilder befinden.

$ chmod +x convert.sh
$ ./convert.sh
Batch-Bildkonvertierung mit Shell-Skript

Zusammenfassend haben wir einige wichtige Möglichkeiten zur Stapelkonvertierung behandelt.pngBilder zu.jpgFormat und umgekehrt. Wenn Sie Bilder optimieren möchten, können Sie unseren Leitfaden durchgehen, der zeigt.

Sie können uns auch alle anderen Methoden mitteilen, einschließlichzum Konvertieren von Bildern von einem Format in ein anderes auf dem Terminal, oder stellen Sie eine Frage über den Kommentarbereich unten.