Sie können das Mogrify-Tool von ImageMagick verwenden
mogrify -format jpg *.bmp
Sie haben wahrscheinlich ImageMagick auf Ubuntu installiert.
Das kann reichen,
convert filename.bmp filename.jpg
aktualisieren:
Der mogrify
(beantwortet mit hyperslug
und verwiesen durch cjm
) ist ebenfalls eine gute Option.
Verwenden Sie das Mogrify Programm, um die Größe eines Bildes zu ändern, zu verwischen, zuzuschneiden, Flecken zu entfernen, zu dithern, darauf zu zeichnen, zu spiegeln, zu verbinden, neu zu sampeln und vieles mehr.
Dieses Tool ähnelt Konvertieren außer dass die ursprüngliche Bilddatei überschrieben wird
(es sei denn, Sie ändern die Dateiendung mit dem -format
Option) mit allen gewünschten Änderungen.
Lassen Sie mich eine kleine Änderung an der Lachselch-Antwort vornehmen:
for i in `ls *.bmp`; do convert $i $i.jpg; done
Das obige funktioniert, erzeugt aber Dateien mit dem Namen "bmp.jpg". Sie können .jpg-Dateien mit diesem Befehl erhalten:
for i in *.bmp; do convert ${i} ${i%bmp}jpg; done
Siehe man bash
für Einzelheiten zu for
Befehl. Die ${i%bmp}
Teil bedeutet die Zeichenfolge "${i}" ohne die Teilzeichenfolge "bmp" am Ende.
Es gibt andere Operationen, um den String in "${i}" umzuwandeln. "$i" ist eine Abkürzung für "${i}". Die ls *.bmp
Teil in der Antwort von Salmonmoose bedeutet "ls *.bmp
ausführen , dann die für i
part weist jede durch Leerzeichen getrennte Zeichenkette i
zu ". Dasselbe wird durch *.bmp
erreicht weil es mit allen Dateinamen im Verzeichnis übereinstimmt.
Es gibt einen Nachteil bei for
- wenn die Dateien in Ihrem Verzeichnis Leerzeichen im Namen haben, zB "Hochzeitsbild 1.bmp", wird es 3 mal dem i
zugeordnet var, indem Sie diese Befehle ausführen:
convert wedding wedding.jpg
convert picture picture.jpg
convert 1.bmp 1.bmp.jpg
In meiner Antwort schlägt auch das Match "${i%bmp}" fehl.
Aber es gibt eine Lösung - Sie können den find
verwenden stattdessen befehlen. Siehe man find
für Details. Sie sollten etwas wie das Folgende eingeben (bitte überprüfen Sie die Syntax anhand der Manpage, bevor Sie es versuchen):
find -name *.bmp -type f -exec convert '{}' '{}'.jpg \;
(Ich bin mir beim Namensteil nicht ganz sicher, und bei -exec
habe ich einige Zweifel Teil, siehe man find
zuerst)
Wenn Sie alle Bilder in einer .jpg-Datei zusammenführen möchten, können Sie sie mit einem anderen Filter verketten, wie dem in der ersten Antwort erwähnten.