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
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
mvdiese ohne Rückfrage (ggf.mv --backupnutzen)
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:
- Muster-Erkennung: Sucht nach Staffel- und Folgen-Nummern im Format
sXXeYY(Groß-/Kleinschreibung egal) - Normalisierung: Konvertiert alle Nummern in zweistelliges Format (z.B.
s7e8→s07e08) - 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.
No comments to display
No comments to display