Gerne, hier ist eine übersichtliche und gut strukturierte `README.md` für deine Skripte: # Dateinamen-Korrektur-Skripte Dieses Skript-Set hilft dir dabei, zwei häufige Probleme mit Dateinamen zu beheben: 1. **Falsch kodierte Zeichen**, die nach einer Konvertierung unlesbar sind (z. B. `Cabr'$'\351''` statt `Cabré`). 2. **Unerwünschte Zusätze** wie `(ungültige Kodierung)` in Dateinamen. ----- ### 1\. Korrektur der Zeichenkodierung mit `convmv` Dieses Skript korrigiert falsch dargestellte Sonderzeichen, indem es die Dateinamen von einem älteren Zeichensatz (`iso-8859-1`) in den modernen Standard (`utf-8`) konvertiert. **Voraussetzung:** Du musst das Tool `convmv` installiert haben. * **Debian/Ubuntu:** `sudo apt-get install convmv` * **Arch:** `sudo pacman -S convmv` **Anwendung:** Führe den Befehl im Verzeichnis aus, in dem die fehlerhaften Dateien liegen. ```bash # Zuerst einen Testlauf durchführen, um die Änderungen zu prüfen convmv -f iso-8859-1 -t utf-8 -r . # Wenn die Ausgabe korrekt ist, den Befehl mit --notest ausführen # Dieser Schritt führt die tatsächliche Umbenennung durch convmv -f iso-8859-1 -t utf-8 --notest -r . ``` * `--notest`: Führt die Änderung wirklich durch (ohne diesen Parameter ist es nur ein Testlauf). * `-r`: Wendet den Befehl **rekursiv** auf alle Unterverzeichnisse an. ----- ### 2\. Entfernen von unerwünschten Zusätzen mit `find` und `rename` Nach der Kodierungskorrektur können Dateinamen den Zusatz `(ungültige Kodierung)` enthalten. Dieses Skript entfernt diesen Zusatz aus allen Dateien und Verzeichnissen. **Voraussetzung:** Du benötigst das `rename`-Tool, das oft als `perl-rename` bekannt ist. * **Debian/Ubuntu:** `sudo apt-get install rename` * **Arch:** `sudo pacman -S perl-rename` **Anwendung:** Führe den folgenden Befehl in dem entsprechenden Verzeichnis aus. ```bash # Sucht rekursiv nach Dateien mit "(ungültige Kodierung)" und entfernt den Text find . -depth -name "* (ungültige Kodierung)*" -exec rename 's/ \(ungültige Kodierung\)//' {} \; ``` * `find . -depth`: Findet alle Dateien und Verzeichnisse, beginnend im aktuellen Ordner. `-depth` sorgt dafür, dass zuerst die Dateien und dann die Ordner selbst umbenannt werden, um Fehler zu vermeiden. * `-name "* (ungültige Kodierung)*"`: Sucht nach Dateinamen, die den Zusatz enthalten. * `rename 's/ ... //`: Ersetzt den Suchbegriff (in den Klammern) durch einen leeren String und entfernt ihn so aus dem Dateinamen.