Umbenennen mit regulärem Ausdruck

Gespeichert von Erik Wegner am/um Di, 29.08.2017 - 21:10
Body

Dieser Tipp beschreibt, wie mehrere Dateien umbenannt werden können. Das Umbenennen soll einem Schema folgen, bei dem reguläre Ausdrücke zur Bildung des neuen Dateinamens zum Einsatz kommen können. Alle Ausgangsdateien liegen in aktuellen Ordner bereit.

Die Dateinamen sehen so aus: <Serienname>-<Episode>._<Titel>-<Id>.mp4. Weiterhin sind alle Leerzeichen durch einen Unterstrich ersetzt.

Dann kann folgendes Script abgespeichert, angepasst und ausgeführt werden:

#!/bin/sh
IFS='
'
for file in `ls -1 *.mp4`; do
  newname=`echo "$file" | sed 's/^.*-\([0-9]\+\)\._\(.*\)-[0-9]\+.mp4$/\1 \2.mp4/' | sed 's/_/ /g'`
  mv "$file" "$newname"
done

Das erste sed sucht nach der Episodennummer und dem Titel. Das zweite sed ersetzt alle Unterstriche durch Leerzeichen.

Source: https://stackoverflow.com/a/41992555