Ich muss die Postfixes aller Dateien (alle .JPEG) in .jpeg (Groß- und Kleinschreibung) ändern.
Gibt es eine schnelle Möglichkeit, dies zu tun?
7
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 .
.
beliebigen Zeichen (mit wenigen Ausnahmen), daher muss der Punkt im regulären Ausdruck maskiert werden\.JPEG$
.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,
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:
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.
quelle
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
quelle
Fand es eine Sekunde nach dem Posten:
quelle
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
quelle
Dinge zu tun , in parallel wird immer mehr und mehr an Bedeutung, daher empfehle ich:
Dieses Dienstprogramm ist jedoch nicht standardmäßig installiert.
quelle
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
quelle