Eine allgemeine Möglichkeit, alle Dateien in einem Verzeichnis umzubenennen

Eine allgemeine Möglichkeit, alle Dateien in einem Verzeichnis umzubenennen

Ich habe hierfür einfache Bash-Funktionen erstellt, indem ich find -execls analysiert oder Bash-Globbing usw. verwendet habe. Jedes Mal, wenn ich ein großes Problem hatte und zu einer neuen Methode wechseln musste, war die Argumentenliste einmal zu lang, ein anderes Mal wurden Dateien, die bereits einen Namen wie hatten, 2überschrieben, als eine andere Datei in umbenannt wurde 2.

Einmal war es ein Problem mit Unicode, einmal mit Leerzeichen im Dateinamen, einmal mit *oder &im Dateinamen und so weiter. Also dachte ich, ich komme hierher und frage euch nach der effizientesten und stabilsten Methode, um alle Dateien in einem Verzeichnis so umzubenennen, dass sie fortlaufende Namen haben.egal was!. Es spielt keine Rolle, wie lang die Dateinamen sind, welchen Originalnamen sie haben oder welche Dateierweiterung sie haben und ob sie Nicht-ASCII-Zeichen enthalten.

Meine Anforderungen sind also:

  1. Dass es mit langen Dateinamen funktioniert.
  2. Dass es mit Unicode-Zeichen funktioniert.
  3. Dass es funktioniert, wenn die Dateien Leerzeichen oder Sonderzeichen enthalten.
  4. Dass keine Datei auf einer anderen überschrieben wird.
  5. Dass es möglichst schnell geht :D

Antwort1

Wenn Ihr Ubuntu kein Server ist, behandeln Sie es auch nicht wie einen. pyRenamer aus den Standard-Ubuntu-Repositories hat alle Funktionen, die Sie suchen, einschließlich Regex-Unterstützung, und da es ein GUI-Programm ist, müssen Sie sich nicht den Kopf zerbrechen, um herauszufinden, wie man es benutzt. Wenn Sie Probleme beim Schreiben eines regulären Ausdrucks haben, finden Sie eine Erklärung, was Ihr regulärer Ausdruck macht, unterRegExr. Lassen Sie sich nicht von GUI-Programmen beeinflussen, die für derartige Anwendungsfälle entwickelt wurden.

pyRenamer ist in den Standard-Ubuntu-Repositories in Ubuntu 16.04 und früher verfügbar. In Ubuntu 18.04 und höher wurde pyRenamer ersetzt durchGPRename.

verwandte Informationen