Umbenennen von .jpeg in .jpg

4

Ich habe über 100.000 Bilder in einer komplizierten Ordnerstruktur ähnlich der folgenden:

├── folder1
│   ├── 0001.jpeg
│   └── 0002.jpeg
├── folder2
│   ├── 0001.jpeg
│   └── 0002.jpeg
├── folder3
│    └── folder4
│         ├── 0001.jpeg
│         └── 0002.jpeg
└── folder5
     └── folder6
           └── folder7
                ├── 0001.jpeg
                └── 0002.jpeg   

Ich möchte die Ordnerstruktur unverändert lassen, aber ich möchte jede der .jpeg-Dateien in .jpg-Dateien umbenennen (.jpeg- & gt; .jpg).

Meine Downstream-Befehle erfordern JPG-Dateien. Der Versuch, diesen Code so zu ändern, dass er einfach mit den JPG-Dateien umgeht, war nicht erfolgreich.

Andrew Brown
quelle
Sie meinen eigentlich "umbenennen" anstatt "konvertieren", glaube ich. Suchen Sie einen Produktvorschlag? Das wäre hier ein Thema. Suchen Sie ein Skript? Wenn ja, sollten Sie das, was Sie bisher haben, posten, da SuperUser kein Skriptschreibdienst ist.
ChrisInEdmonton
Es ist anscheinend und traurig.
user1016274
Dies wurde zu oft gefragt, dass wir sogar einen Tag dafür haben. Auf der Suche nach dem besten Duplikat und VTC in der Nähe.
Hennes

Antworten:

5
  1. Öffnen Sie das Terminal.

  2. Wechseln Sie mit dem in das übergeordnete Verzeichnis von Ordner1 cd Befehl.

    cd /path/to/parent/directory/of/folder1/
    
  3. Führen Sie diesen Befehl aus, um alle Dateien mit der Erweiterung .jpeg in .jpg umzubenennen.

    find . -type f -name '*.jpeg' -print0 | xargs -0 rename 's/\.jpeg/\.jpg/'
    

Der obige Befehl verwendet Perl rename Programm, das standardmäßig auf Debian-basierten Betriebssystemen installiert ist. In einigen anderen Linux-Distributionen wird dasselbe Perl-Umbenennungsprogramm aufgerufen vorname . Der Vorname kann installiert werden, indem Sie den Anweisungen von folgen: Rufen Sie das Perl-Umbenennungsprogramm anstelle der integrierten Umbenennung ab .

karel
quelle