Konvertieren von Bilddateiformaten mit der Befehlszeile & sips

Anonim

Das Konvertieren von Bildern in neue Dateiformate ist dank einer Vielzahl von direkt in OS X (und die meisten Linux-Distributionen) integrierten Tools sehr einfach. Obwohl die einfachste Methode die Vorschau zum Konvertieren von Bildern verwendet, gibt es eine Befehlszeilenoption, die dasselbe sips-Tool verwendet, das wir zuvor besprochen haben, um die Stapelgröße von der Befehlszeile aus zu ändern.Mit sips können Sie einzelne Bilder in neue Bildformate konvertieren oder sogar Stapelbildkonvertierungen durchführen.

Einfache Bildkonvertierung über die Befehlszeile

Um ein einzelnes Bild mit sips zu konvertieren, verwenden Sie die folgende Befehlszeichenfolge-Syntax:

sips -s format --out

Bei einer Datei mit dem Namen „test.jpg“, die Sie in PNG konvertieren möchten, lautet die sips-Syntax beispielsweise:

sips -s format png test.jpg --out test.png

Batch-Bildkonvertierung mit sips

Das Konvertieren einer Gruppe von Bildern ist etwas kniffliger, und die Verwendung einfacher Platzh alter wie bei der Größenänderung mit Sips funktioniert nicht ganz gleich. Sie werden feststellen, dass die Verwendung eines generischen Platzh alters wiedie Datei nicht ebenfalls umbenennt, daher verwenden wir stattdessen sehr einfaches Shell-Skripting mit der folgenden Befehlssyntax:

für i in ; do sips -s format $i --out /$i.;done

Wenn wir das verwenden, konvertieren wir einen Ordner mit .jpeg-Dateien in png-Dateien in einem neuen Unterordner des aktuellen Verzeichnisses mit dem Namen „Konvertiert“:

für i in .jpeg; do sips -s format png $i --out Converted/$i.png;done

Die Ausführung dieses Befehls kann dazu führen, dass alle JPEG-Bilder im neuen Verzeichnis in das PNG-Format konvertiert werden.

Ein potenziell ärgerlicher Haken ist, dass die resultierenden Dateinamen auch den ursprünglichen Dateityp enth alten, was bedeutet, dass Sie am Ende Dateien mit dem Titel „test.jpeg.png“ erh alten. Die Dateierweiterung bleibt korrekt, es ist nur ein Namensproblem. Sie können dies umgehen, indem Sie sie zunächst umbenennen und anschließend die richtige Dateierweiterung mit einem ähnlichen Bash-Skript hinzufügen, Regex verwenden oder manuell mit mv umbenennen.

Beim Ausführen von sips mit einigen Dateiformaten können 'lingpng-Warnfehler' bezüglich Exif-Daten auftreten, diese Fehler können größtenteils ignoriert werden und die Bildkonvertierung findet trotzdem statt.

Danke an Thom für die Idee zur Batch-Konvertierung

Konvertieren von Bilddateiformaten mit der Befehlszeile & sips