Skip to main content

Serien-Dateien massenhaft umbenennen

Serien-Dateien massenhaft umbenennen

Übersicht

Diese Anleitung zeigt, wie Sie Serien-Dateien unter Linux automatisch nach einem einheitlichen Schema umbenennen können.

Ziel: Umbenennen von Serien-Dateien nach dem Muster Serienname-sXXeYY.mp4

Beispiel:

dummy-serie-s07E08 GERMAN 720P WEB INTERNAL-WAYNE.mp4
→ dummy-serie-s07e08.mp4

Voraussetzungen

  • Linux-System mit Bash (Ubuntu, Debian, Mint etc.)
  • Terminal-Zugriff
  • Schreibrechte im Zielverzeichnis

Schritt-für-Schritt-Anleitung

1. Terminal öffnen und ins Verzeichnis wechseln

Navigieren Sie zum Verzeichnis, in dem sich Ihre Serien-Dateien befinden:

cd /pfad/zu/deinen/serien

Beispiel:

cd ~/Videos/Dummy-Serie
ls

2. Testlauf durchführen

Führen Sie zunächst einen Testlauf durch, um zu sehen, welche Dateien wie umbenannt würden:

serienname="dummy-serie-"  # ← Hier deinen Seriennamen eintragen

for file in *.mp4; do
    if [[ -f "$file" ]]; then
        if [[ "$file" =~ [sS]([0-9]{1,2})[eE]([0-9]{1,2}) ]]; then
            staffel_num="${BASH_REMATCH[1]}"
            folge_num="${BASH_REMATCH[2]}"
            staffel=$(printf "%02d" $((10#$staffel_num)))
            folge=$(printf "%02d" $((10#$folge_num)))
            echo "Würde umbenennen: $file → ${serienname}s${staffel}e${folge}.mp4"
        else
            echo "Kein SxxExx-Muster in: $file"
        fi
    fi
done

Beispiel-Ausgabe:

Würde umbenennen: dummy-serie-s07E08 GERMAN 720P WEB INTERNAL-WAYNE.mp4 → dummy-serie-s07e08.mp4
Würde umbenennen: dummy-serie-s07E09 GERMAN 720P WEB INTERNAL-WAYNE.mp4 → dummy-serie-s07e09.mp4

3. Umbenennen ausführen

Wenn die Vorschau korrekt aussieht, führen Sie das tatsächliche Umbenennen aus:

serienname="dummy-serie-"  # ← Hier deinen Seriennamen eintragen

for file in *.mp4; do
    if [[ -f "$file" ]]; then
        if [[ "$file" =~ [sS]([0-9]{1,2})[eE]([0-9]{1,2}) ]]; then
            staffel_num="${BASH_REMATCH[1]}"
            folge_num="${BASH_REMATCH[2]}"
            staffel=$(printf "%02d" $((10#$staffel_num)))
            folge=$(printf "%02d" $((10#$folge_num)))
            mv -- "$file" "${serienname}s${staffel}e${folge}.mp4"
        else
            echo "Überspringe (kein SxxExx-Muster): $file"
        fi
    fi
done

Anpassungsmöglichkeiten

Option Befehlsanpassung
Nur .mp4-Dateien for file in *.mp4; do
Alle Videodateien for file in *.{mp4,mkv,avi}; do
Serienname ändern serienname="meine-serie-"

Sicherheitshinweise

  • Backup erstellen: Sichern Sie Ihre Dateien vor dem Umbenennen
  • Richtiges Verzeichnis: Führen Sie das Script nur im korrekten Ordner aus
  • ⚠️ Kollisionen: Bei bereits existierenden Zieldateien überschreibt mv diese ohne Rückfrage (ggf. mv --backup nutzen)

Komplettes Beispiel

# 1. In das Verzeichnis wechseln
cd ~/Videos/Dummy-Serie

# 2. Testlauf
serienname="dummy-serie-"
for file in *.mp4; do
    if [[ -f "$file" ]]; then
        if [[ "$file" =~ [sS]([0-9]{1,2})[eE]([0-9]{1,2}) ]]; then
            staffel_num="${BASH_REMATCH[1]}"
            folge_num="${BASH_REMATCH[2]}"
            staffel=$(printf "%02d" $((10#$staffel_num)))
            folge=$(printf "%02d" $((10#$folge_num)))
            echo "Würde umbenennen: $file → ${serienname}s${staffel}e${folge}.mp4"
        else
            echo "Kein SxxExx-Muster in: $file"
        fi
    fi
done

# 3. Tatsächliches Umbenennen (nur ausführen, wenn Testlauf OK war!)
serienname="dummy-serie-"
for file in *.mp4; do
    if [[ -f "$file" ]]; then
        if [[ "$file" =~ [sS]([0-9]{1,2})[eE]([0-9]{1,2}) ]]; then
            staffel_num="${BASH_REMATCH[1]}"
            folge_num="${BASH_REMATCH[2]}"
            staffel=$(printf "%02d" $((10#$staffel_num)))
            folge=$(printf "%02d" $((10#$folge_num)))
            mv -- "$file" "${serienname}s${staffel}e${folge}.mp4"
        else
            echo "Überspringe (kein SxxExx-Muster): $file"
        fi
    fi
done

Funktionsweise

Das Script arbeitet wie folgt:

  1. Muster-Erkennung: Sucht nach Staffel- und Folgen-Nummern im Format sXXeYY (Groß-/Kleinschreibung egal)
  2. Normalisierung: Konvertiert alle Nummern in zweistelliges Format (z.B. s7e8s07e08)
  3. Umbenennung: Erstellt neue Dateinamen mit dem angegebenen Seriennamen und normalisierten Nummern

Hinweis: Alle Seriennamen in den Beispielen sind Platzhalter und müssen an Ihre tatsächlichen Serien angepasst werden.