567 Stimmen

Wie benenne ich die Erweiterung einer Reihe von Dateien um?

In einem Verzeichnis habe ich ein Bündel von *.html Dateien. Ich würde sie gerne alle umbenennen in *.txt

Wie kann ich das tun? Ich verwende die Bash-Shell.

4voto

Nick De Greek Punkte 1734

Dies ist eine gute Möglichkeit, mehrere Erweiterungen gleichzeitig zu ändern:

for fname in *.{mp4,avi}
do
   mv -v "$fname" "${fname%.???}.mkv"
done

Hinweis: Achten Sie darauf, dass die Größe der Erweiterung gleich ist (die ???)

4voto

Neo Liu Punkte 303

Umbenennen der Dateierweiterungen für alle Dateien im aktuellen Verzeichnis und in den Unterverzeichnissen ohne weitere Pakete (nur Shell-Skript verwenden):

  1. Ein Shell-Skript erstellen rename.sh im aktuellen Verzeichnis mit folgendem Code:

    #!/bin/bash
    
    for file in $(find . -name "*$1"); do
      mv "$file" "${file%$1}$2"
    done
  2. Durchlaufen Sie es ./rename.sh .old .new .

    Beispiel. ./rename.sh .html .txt

3voto

esp Punkte 7417

Ich komme etwas zu spät zur Party. Du könntest es mit xargs machen:

ls *.html | xargs -I {} sh -c 'mv $1 `basename $1 .html`.txt' - {}

Oder wenn sich alle Ihre Dateien in einem Ordner befinden

ls folder/*.html | xargs -I {} sh -c 'mv $1 folder/`basename $1 .html`.txt' - {}

3voto

Carl Bosch Punkte 1213

Ähnlich wie zuvor vorgeschlagen, habe ich es folgendermaßen gemacht:

find . -name '*OldText*' -exec sh -c 'mv "$0" "${0/OldText/NewText}"' {} \;

Ich validierte zunächst mit

find . -name '*OldText*' -exec sh -c 'echo mv "$0" "${0/OldText/NewText}"' {} \;

3voto

CreatorGhost Punkte 157

Der einfachste Weg ist die Verwendung von rename.ul es ist in den meisten Linux-Distributionen vorhanden

rename.ul -o -v [oldFileExtension] [newFileExtension] [Ausdruck für die Suche nach der Datei, die mit angewendet werden soll]

rename.ul -o -v .oldext .newext *.oldext

Optionen:

-o: Vorhandenes .newext nicht überschreiben

-v: ausführlich

-n: Trockenlauf

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X