GNU/Linux >> LINUX-Kenntnisse >  >> Linux

4 Möglichkeiten zur Batch-Konvertierung von PNG in JPG und umgekehrt

Beim Rechnen Batch Verarbeitung ist die nicht interaktive Ausführung einer Reihe von Aufgaben in einem Programm. In dieser Anleitung werden Ihnen 4 einfache Möglichkeiten zur Stapelkonvertierung mehrerer .PNG vorgestellt Bilder in .JPG und umgekehrt mit Linux-Befehlszeilentools.

Wir werden convert verwenden Befehlszeilentool in allen Beispielen, Sie können jedoch auch mogrify verwenden um dies zu erreichen.

Die Syntax für die Verwendung von convert ist:

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

Und für mogrify ist:

$ mogrify options input-file

Hinweis :Mit mogrify , wird die ursprüngliche Bilddatei standardmäßig durch die neue Bilddatei ersetzt, aber es ist möglich, dies zu verhindern, indem Sie bestimmte Optionen verwenden, die Sie auf der Manpage finden.

Unten sind die verschiedenen Möglichkeiten zur Batch-Konvertierung Ihrer gesamten .PNG Bilder in .JPG Format, wenn Sie .JPG konvertieren möchten zu .PNG , können Sie die Befehle nach Ihren Bedürfnissen ändern.

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

Mit dem Befehl ls können Sie alle Ihre png auflisten Bilder und xargs ermöglichen das Erstellen und Ausführen einer Konvertierung Befehl von der Standardeingabe, um alle .png zu konvertieren Bilder 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 zu den im obigen Befehl verwendeten Optionen.

  1. -1 – Flag sagt ls um ein Bild pro Zeile aufzulisten.
  2. -n – gibt die maximale Anzahl von Argumenten an, die 1 ist für den Fall.
  3. -c – weist Bash an, den angegebenen Befehl auszuführen.
  4. ${0%.png}.jpg – setzt den Namen des neu konvertierten Bildes, das % Zeichen hilft, die alte Dateiendung zu entfernen.

Ich habe ls -ltr verwendet Befehl zum Auflisten aller Dateien nach Datum und Uhrzeit der Änderung.

In ähnlicher Weise können Sie den obigen Befehl verwenden, um alle Ihre .jpg zu konvertieren Bilder zu .png indem Sie den obigen Befehl anpassen.

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

GNU-Parallel ermöglicht einem Benutzer das parallele Erstellen und Ausführen von Shell-Befehlen aus der Standardeingabe. Stellen Sie sicher, dass Sie GNU Parallel auf Ihrem System installiert haben, ansonsten 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]

Einmal Parallel installiert haben, können Sie den folgenden Befehl ausführen, um alle .png zu konvertieren Bilder zu .jpg Format aus der Standardeingabe.

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

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

Wo,

  1. {} – Eingabezeile, die eine Ersatzzeichenfolge ist, die durch eine vollständige Zeile ersetzt wird, die aus der Eingabequelle gelesen wird.
  2. {.} – Eingabezeile minus Extension.
  3. ::: – gibt die Eingabequelle an, d. h. die Befehlszeile für das obige Beispiel, wobei *png oder *jpg ist das Argument.

Alternativ können Sie auch ls und parallel verwenden Befehle 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 die Hektik des Schreibens eines Shell-Skripts zu vermeiden, können Sie eine for loop ausführen von der 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. -c ermöglicht die Ausführung der for-Schleife-Anweisung in einfachen Anführungszeichen.
  2. Das Bild Variable ist ein Zähler für die Anzahl der Bilder im Verzeichnis.
  3. Bei jedem Konvertierungsvorgang informiert der echo-Befehl den Benutzer, dass ein PNG-Bild in jpg konvertiert wurde format und umgekehrt in der Zeile $image umgewandelt in ${image%.png}.jpg “.
  4. "${image%.png}.jpg" erstellt den Namen des konvertierten Bildes, wobei % entfernt die Erweiterung des alten Bildformats.

4. Konvertieren Sie PNG in JPG mit Shell-Skript

Wenn Sie Ihre Befehlszeile nicht wie im vorherigen Beispiel schmutzig machen wollen, schreiben Sie ein kleines Skript wie folgt:

Hinweis :Tauschen Sie die .png entsprechend aus und .jpg Erweiterungen 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 als convert.sh und machen 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

Zusammenfassend haben wir einige wichtige Möglichkeiten zur Stapelkonvertierung von .png behandelt Bilder in .jpg formatieren und umgekehrt. Wenn Sie Bilder optimieren möchten, können Sie unsere Anleitung durchgehen, die zeigt, wie Sie PNG- und JPG-Bilder unter Linux komprimieren.

Sie können uns auch andere Methoden mitteilen, einschließlich Linux-Befehlszeilentools zum Konvertieren von Bildern von einem Format in ein anderes auf dem Terminal, oder eine Frage über den Kommentarbereich unten stellen.


Linux
  1. 6 Möglichkeiten, Ihr Verdienstprofil und -potenzial für Linux-Systemadministratoren zu verbessern

  2. Verwenden Sie SFTP und SCP

  3. Linux-Stapelkonvertierung:Ändern Sie die Qualität von JPG mit convert, behalten Sie jedoch den Namen bei

  4. Konvertieren Sie TrueType-Glyphen in ein PNG-Bild?

  5. Wie konvertiere ich PPTX-Dateien in JPG oder PNG (für jede Folie) unter Linux?

So konvertieren Sie PDF-Dateien im Stapelbetrieb unter Linux

Konvertieren Sie PNG in JPEG, JPEG in PNG über die Befehlszeile in Ubuntu

Wie konvertiere ich PNG, JPEG in WebP in Ubuntu? (Auch WebP zu PNG und JPEG)

So konvertieren Sie eine PDF-Datei in ein PNG/JPG-Bild unter Linux

So konvertieren Sie PNG-Bilder im Stapelbetrieb in das JPG-Format unter Linux

So konvertieren Sie PDF in PNG-Bilder und zurück unter Linux