Ich muss die Postfixes aller Dateien (alle .JPEG) in .jpeg (Groß- und Kleinschreibung) ändern.
Gibt es eine schnelle Möglichkeit, dies zu tun?
Ich muss die Postfixes aller Dateien (alle .JPEG) in .jpeg (Groß- und Kleinschreibung) ändern.
Gibt es eine schnelle Möglichkeit, dies zu tun?
Antworten:
Verwenden Sie das rename
standardmäßig installierte Perl-Programm :
rename 's/\.JPEG$/.jpeg/' *.JPEG
Das erste Argument ist ein regulärer Perl-Ausdruck, der mit Dateinamen übereinstimmt, die mit enden .JPEG
und durch diese ersetzt werden .jpeg
.
Das zweite Argument wählt die Dateien aus, die abgeglichen werden sollen, in Ihrem Fall jede Datei im aktuellen Verzeichnis, die auf endet .JPEG
. Sie können natürlich einen anderen Ort angeben:
rename 's/\.JPEG$/.jpeg/' ~/Pictures/*.JPEG
Andere Antworten, die ich gesehen habe:
rename s/.JPEG$/.jpeg/ *
- Dadurch werden auch Dateien wie folgt umbenannt StupidJPEG
, Stupi.jpeg
da der Punkt mit einem beliebigen Zeichen übereinstimmt. .JPEG$
ist ein regulärer Ausdruckrename 's/\.JPEG$/\.jpeg/' *
- funktioniert, ist aber weniger effizient, da alle Dateien im aktuellen Verzeichnis an übergeben werden rename
.rename -n 's/.JPEG$/.jpeg/' *.JPEG
- Die -n
Option zeigt die umbenannten Dateien an, ohne sie tatsächlich umzubenennen ("Trockenlauf"). Da *.JPEG
Übereinstimmungsdateien .JPEG
nur mit nachfixiert werden , gibt es hier kein Problem mit Punktübereinstimmungen .for i in *.JPEG; do mv $i $(basename $i .JPEG).jpeg; done
rename
es nicht verfügbar ist. Auch $(basename $i .JPEG)
kann ersetzt werden mit ${i%%.JPEG}
(bash - Erweiterung)
Obwohl dies möglicherweise nicht die beste Lösung für diesen speziellen Anwendungsfall ist,
for i in *.JPEG; do mv "$i" "$(basename "$i" .JPEG).jpeg"; done
funktioniert auch. Wir können mit bash etwas trickreich machen, um die Effizienz leicht zu steigern (das Aufrufen eines zusätzlichen Unterprozesses in der inneren Schleife wird vermieden), was zu Folgendem führt:
for i in *.JPEG; do mv "$i" "${i%%.JPEG}.jpeg"; done
Diese Lösung ist am nützlichsten, wenn Sie zusätzlich zum Umbenennen der Dateien noch etwas anderes tun möchten , z. B. protokollieren, welche Namen geändert wurden, oder einfach nur einen Probelauf durchführen , um sicherzustellen, dass sie das tun, was Sie möchten.
Dafür gibt es ein Werkzeug:
sudo apt-get install renameutils
oder klicken Sie auf umbenennen
(falls nicht bereits installiert)
wo Sie tun können (von der Kommandozeile):
rename s/\.JPEG$/\.jpeg/ *.JPEG
Fand es eine Sekunde nach dem Posten:
rename 's/\.JPEG$/.jpeg/' *
rename
Parsen gesendet werden. *
stimmt mit allem in einem Verzeichnis überein, in dem *.JPEG
wirklich nur die Dateien übereinstimmen, mit denen postfixiert wurde .JPEG
.
Verwenden Sie den Befehl zum Umbenennen. Es unterscheidet sich von Verschieben und führt häufig zu Verwirrung, da es speziell für die Umbenennung von Bildern erstellt wurde.
So etwas wie dieser Befehl sollte funktionieren (für alle Dateien, die mit .JPEG enden, ändern Sie .JPEG in .jpeg)
Benennen Sie -ns / .JPEG $ / .jpeg / '* .JPEG um
Dinge zu tun , in parallel wird immer mehr und mehr an Bedeutung, daher empfehle ich:
parallel mv {} {.}.jpg ::: *.JPG
Dieses Dienstprogramm ist jedoch nicht standardmäßig installiert.
Wenn Sie nach einer netten GUI-Lösung suchen und sich nicht mit komplizierten Befehlszeilenargumenten herumschlagen möchten, steht Ihnen ein großartiges Nautilus-Skript zum Umbenennen von Dateien zur Verfügung. Es hat eine einfache Oberfläche und viele Optionen.
Hier verfügbar: http://gnome-look.org/content/show.php/Renamer?content=87601
.
beliebigen Zeichen (mit wenigen Ausnahmen), daher muss der Punkt im regulären Ausdruck maskiert werden\.JPEG$
.