Beiträge von maik3531 im Thema „**Anleitung zum Umbenennen von Dateien in einem Verzeichnis mit Leerzeichen:**“

    **Anleitung zum Umbenennen von Dateien in einem Verzeichnis mit Leerzeichen:**

    Da der "sed"-Befehl auf den meisten Systemen vorhanden ist, werden wir "sed" verwenden, um Dateien so umzubenennen das diese danach ein Unterstich "_" anstelle eines Leerzeichen haben. Das ist mitunter nützlich da bestimmte Programme mit Leerzeichen in Dateinamen nicht umgehen können.

    Ein Beispiel:

    pandoc -t plain "$selected_file" > /tmp/out.txt && spd-say "`cat "/tmp/out.txt"`" && rm -f /tmp/out.txt


    Hierbei wird mit Hilfe von pandoc eine ODT-Datei in eine TXT-Datei umgewandelt und mittels spd-say vorgelesen. Wobei die Datei als Variable angegeben ist. Wenn diese nicht in Anführungsstrichen "$selected_file" stehen würde, würde der Dateiname z.B. MEINE DATEI.ODT ein Leerzeichen enthalten und der Befehl pandoc würde an der stelle sein Dienst verweigern, da er von 2 Dateien einmal MEINE und einmal DATEI.ODT ausgeht. Dies war nur ein Beispiel aus mein TTS Script wo ich das Script ausbessern konnte aber was ist bei Programmen wo ich keinen Zugriff habe die als Voraussetzung einen einzelnen Dateinamen verlangen.

    **Schritt-für-Schritt-Anleitung:**

    1. **Überprüfen der Dateinamen:**
    - Stelle sicher, dass du dich im Verzeichnis mit den zu ändernden Dateien befindest.
    - Verwende den Befehl ls, um die Liste der Dateien anzuzeigen und sicherzustellen, dass Leerzeichen in den Dateinamen vorhanden sind.

    2. **Schreiben des Skripts:**
    - Öffne einen Texteditor (z.B. Vim, Nano) und erstelle ein neues Skript, z.B. mit dem Namen "rename.sh".
    - Kopiere den folgenden Code in das Skript:

    Code
       #!/bin/bash
       for file in *; do
           new_name=$(echo "$file" | sed 's/ /_/g')
           mv "$file" "$new_name"
       done


    3. **Speichern und Ausführbar machen:**
    - Speichere das Skript.
    - Mache das Skript ausführbar mit dem Befehl: chmod +x rename.sh

    4. **Ausführen des Skripts:**
    - Führe das Skript mit dem Befehl ./rename.sh aus.

    5. **Überprüfen der Änderungen:**
    - Verwende den Befehl ls, um die Liste der Dateien nach der Ausführung des Skripts anzuzeigen.
    - Stelle sicher, dass die Leerzeichen durch Unterstriche ersetzt wurden.

    **Hinweis:** Sei vorsichtig beim Ausführen von Skripten, insbesondere wenn sie Dateien umbenennen. Stelle sicher, dass du dich im richtigen Verzeichnis befindest und dass das Skript nur das umbenennt, was du möchtest.

    Quelle