Wie verwende ich Sed zum Bearbeiten von Text in einer SRT-Datei?

Wie verwende ich Sed zum Bearbeiten von Text in einer SRT-Datei?

Ich habe ein Problem mit der Untertiteldatei (.srt). Sie funktioniert nicht. Und ich möchte mit Regex im Sed-Programm mehrere Textzeilen mit einigen Parametern versehen.

Änderungen von diesem Muster:

00:00:00 --> 00:00:06

dazu:

00:00:00,000 --> 00:00:06,000

„,000“ nach „hh:mm:ss“ hinzugefügt

Wie schreibt man einen regulären Ausdruck für dieses Problem?

Antwort1

Verwenden Sie Folgendes:

sed 's/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/&,000/g' your_file.srt > new_file.srt

Dabei wird jedes Vorkommen der Zeit im Format durch . ersetzt, XX:XX:XXein XX:XX:XX,000Sonderzeichen &, das sich auf das gefundene Muster bezieht.

Antwort2

Mit GNU sed:

sed -r 's/(([0-9]{2}:){2}[0-9]{2})/\1,000/g'

Antwort3

Dies könnte für Sie funktionieren (GNU sed):

sed -r 's/((^|\s)[0-9]{2}(:[0-9]{2}){2})(\s|$)/\1,000\4/g' file

verwandte Informationen