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.