Dieses Rust-Programm ntu ersetzt Leerzeichen und andere obskure Zeichen in Dateinamen.
  • Rust 88.8%
  • Shell 11.2%
Find a file
2025-03-18 04:35:08 +01:00
.github/workflows Initial commit 2025-03-18 03:05:18 +01:00
src Initial commit 2025-03-18 03:05:18 +01:00
test Initial commit 2025-03-18 03:05:18 +01:00
.NameToUnix.conf Initial commit 2025-03-18 03:05:18 +01:00
Cargo.toml Initial commit 2025-03-18 03:05:18 +01:00
CONTRIBUTING.md Initial commit 2025-03-18 03:05:18 +01:00
Infotext.txt Initial commit 2025-03-18 03:05:18 +01:00
LICENSE Initial commit 2025-03-18 03:05:18 +01:00
Projekt_Struktur.txt Aktualisiert Projekt_Struktur.txt 2025-03-18 04:35:08 +01:00
README.md Aktualisierte README.md 2025-03-18 04:31:39 +01:00

Dateinamen-Reparatur-Tool "NameToUnix"

Ein leistungsstarkes Kommandozeilen-Tool zum Bereinigen von Dateinamen gemäß Linux-Konventionen. Es funktioniert unter Linux (und sollte auch unter MacOS laufen, dort habe ich es aber nicht getestet). Das Programm ist sinnvoll, wenn viele Dateinamen z. B. nach einem Download und Entpacken von Zip-Dateien aus Windows-Dateisystemen Leerzeichen oder Sonderzeichen enthalten. Es erspart enorm viel Zeit durch automatisches Ersetzen der störenden Zeichen.

(c) 2025 Dieter Schlüter dieter.schlueter@linix.de

Funktionen

  • Ersetzt Leerzeichen und Sonderzeichen in Datei- und Verzeichnisnamen durch Unterstriche
  • Konvertiert deutsche Umlaute in ihre ASCII-Pendants (ä → ae, usw.)
  • Unterstützt rekursive Verarbeitung von Verzeichnissen
  • Bietet Vorschau-Modus ohne tatsächliche Änderungen
  • Ermöglicht benutzerdefinierte Ersetzungsregeln über Konfigurationsdatei
  • Unterstützt Ausschlussmuster für bestimmte Datei-Muster/Verzeichnis-Muster

Installation

Über Cargo

cargo install NameToUnix

Manueller Build

git clone https://github.com/jamulix/NameToUnix.git
cd NameToUnix
cargo build --release

Die ausführbare Datei wird dann unter target/release/NameToUnix erstellt.

Verwendung

# Grundlegende Verwendung
NameToUnix /pfad/zu/dateien

# Nur Vorschau der Änderungen ohne tatsächliche Umbenennung
NameToUnix -n /pfad/zu/dateien

# Mehrere Pfade verarbeiten
NameToUnix /pfad1 /pfad2 /pfad3

# Bestimmte Dateien ausschließen
NameToUnix -e "*.tmp" -e "backup_*" /pfad/zu/dateien

# Verbosity erhöhen
NameToUnix -v /pfad/zu/dateien

# Auch das Wurzelverzeichnis umbenennen
NameToUnix --modify-root /pfad/zu/dateien

Konfiguration

Erstelle eine Datei .NameToUnix.conf im Arbeitsverzeichnis z. B. mit folgendem Inhalt (alternativ ~/.config/NameToUnix/config.toml):

[replacements]
"foo" = "bar"
"old" = "new"
"alt" = "neu"
".." = "."
"_·_" = "_-_"
"Ä" = "Ae"
"Ö" = "Oe"
"Ü" = "Ue"
"ä" = "ae"
"ö" = "oe"
"ü" = "ue"
"ß" = "ss"

Verwendung von NameToUnix

Um die Verwendung von NameToUnix zu verstehen, kannst du die folgende Hilfe ausgeben:

NameToUnix --help

Die Ausgabe sieht wie folgt aus:

Ein Tool zum Anpassen von Verzeichnis- und Dateinamen an Linux-Konventionen

Usage: NameToUnix [OPTIONS] [PATHS]...

Arguments:
[PATHS]... Pfade (Dateien und Verzeichnisse) zum rekursiven Anpassen

Options:
-q, --quiet Ausgaben unterdrücken (keine Umbenennungsinfos auf stdout)
-n, --no-changes Nur anzeigen, aber keine realen Änderungen vornehmen
-f, --force Existierende Dateien überschreiben
-e, --exclude <PATTERN> Zu ignorierende Muster (-e "*.py", mehrere können angegeben werden)
-v, --verbose Ausführliche Debug-Informationen
    --modify-root Erlaubt, auch das Wurzelverzeichnis anzupassen
-h, --help Print help
-V, --version Print version

Test

Im Verzeichnis ./test gibt es ein bash-Skript create_test_tree.sh, das lokal 21 Test-Verzeichnisse und 400 Dateien mit skurrilen Zufallsnamen erzeugt. Damit kannst Du NameToUnix ausprobieren:

NameToUnix -n ./testverzeichnis (nur Anzeige der Änderungen) oder NameToUnix ./testverzeichnis (Anzeige mit Umbenennen).

Lizenz

Dieses Projekt steht unter der MIT-Lizenz - siehe die LICENSE-Datei für Details.

Mitwirken

Beiträge sind willkommen! Bitte lies CONTRIBUTING.md für Details zum Prozess für Pull Requests.