#!/bin/bash # Dieses Skript ersetzt in den Namen aller Dateien und Verzeichnisse (rekursiv ab dem aktuellen Verzeichnis) # alle Leerzeichen durch Unterstriche und wandelt alle Buchstaben in Kleinbuchstaben um. find . -depth | while IFS= read -r file; do # Ermittle das Verzeichnis und den Basisnamen dir="$(dirname "$file")" base="$(basename "$file")" # Neuer Basisname: Leerzeichen durch Unterstriche ersetzen und in Kleinbuchstaben umwandeln newbase=$(echo "$base" | tr '[:upper:]' '[:lower:]' | tr ' ' '_') newfile="$dir/$newbase" # Nur umbenennen, wenn sich der Name ändert if [ "$file" != "$newfile" ]; then echo "Umbenennen: '$file' -> '$newfile'" mv "$file" "$newfile" fi done