Synapsenschredder

Code, Work, Income.

Quicktipp: Massen-Konvertierung von GIFs zu PNGs in der Linux Konsole

Ich hatte einmal den Fall, dass ich in einer Linux-Umgebung kurzfristig eine ganze Reihe von GIF-Dateien in PNGs umwandeln musste. Da ich vermeiden wollte, jede einzelne Datei in GIMP reinzuladen, suchte ich nach anderen Möglichkeiten und stieß dabei auf das Linux-Tool convert. Das bei den meisten Linux-Distributionen standardmäßig dabei ist oder über die Paketverwaltung flink nachinstalliert werden kann.

Die Konvertierung damit war dann ein Klacks mit diesem Einzeiler:

for filename in *.gif; do name="${filename%.*}"; convert $filename $name.png; done  

Zur Erklärung:

  • for filename in *.gif; do geht alle .gif-Dateien im aktuellen Verzeichnis in einer Schleife durch und merkt sich den Dateinamen in der Variable filename
  • name="${filename%.*}" speichert in der Variable name den Dateinamen ohne die Erweiterung. Aus abc.gif wird also abc
  • convert $filename $name.png ist dann der eigentliche Konvertierungbefehl. Durch den Einsatz der Variablen wird intern daraus also convert abc.gif abc.png
  • done ist einfach das Ende der Schleife.

So wurden innerhalb von Sekunden alle GIF-Dateien in PNG-Dateien umgewandelt. Die überflüssigen GIF-Dateien konnten dann mit einem einfachen rm *.gif entfernt werden. Zur Optimierung der Dateigröße kann man die PNGs dann auch einmal noch durch TinyPNG jagen.