README.md hinzugefügt

This commit is contained in:
alf
2025-08-03 12:45:29 +00:00
parent e8858dca1a
commit a69800aaf7

59
README.md Normal file
View File

@ -0,0 +1,59 @@
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.