Beim Rechnen,ChargeVerarbeitung ist diein einem Programm nicht interaktiv. In dieser Anleitung werden Ihnen 4 einfache Möglichkeiten zur Stapelkonvertierung mehrerer Dateien vorgestellt.PNG
Bilder zu.JPG
und 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.PNG
Bilder zu.JPG
Format, wenn Sie konvertieren möchten.JPG
Zu.PNG
kö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.png
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 der im obigen Befehl verwendeten Optionen.
-1
– Flagge erzähltlsum ein Bild pro Zeile aufzulisten.-n
– gibt die maximale Anzahl von Argumenten an1für den Fall.-c
– weist Bash an, den angegebenen Befehl auszuführen.${0%.png}.jpg
– legt den Namen des neu konvertierten Bildes fest%sign hilft dabei, die alte Dateierweiterung zu entfernen.

Ich habe verwendetls -ltr
Befehl zu.
Ebenso können Sie den obigen Befehl verwenden, um alle Ihre zu konvertieren.jpg
Bilder zu.png
indem 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.png
Bilder zu.jpg
Format aus der Standardeingabe.
----------- Convert PNG to JPG ----------- $ parallel convert '{}' '{.}.jpg' ::: *.png ----------- Convert JPG to PNG ----------- $ parallel convert '{}' '{.}.png' ::: *.jpg
Wo,
{}
– Eingabezeile, bei der es sich um eine Ersatzzeichenfolge handelt, die durch eine vollständige aus der Eingabequelle gelesene Zeile ersetzt wird.{.}
– Eingabezeile minus Erweiterung.:::
– gibt die Eingabequelle an, d. h. die Befehlszeile für das obige Beispiel*pngoder*jpgist das Argument.

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:
- -Cermöglicht die Ausführung der for-Schleifenanweisung in einfachen Anführungszeichen.
- DerBildVariable ist ein Zähler für die Anzahl der Bilder im Verzeichnis.
- 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“.
- „${image%.png}.jpg“erstellt den Namen des konvertierten Bildes, wo%Entfernt die Erweiterung des alten Bildformats.

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.png
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 unterconvert.sh
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 behandelt.png
Bilder zu.jpg
Format 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.