2 votes

Comment utiliser Sed pour modifier le texte d'un fichier .srt ?

J'ai un problème avec le fichier de sous-titres(.srt). Il ne fonctionne pas. Et je veux ajouter un paramètre à plusieurs lignes de texte avec Regex dans le programme Sed.

change de ce modèle :

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

à ça :

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

",000" ajouté après "hh:mm:ss".

Comment écrire une expression rationnelle pour ce problème ?

1voto

Nekrom4n Points 11

Utilisez les éléments suivants :

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

Il remplacera chaque occurrence du temps dans le format XX:XX:XX con XX:XX:XX,000 . & est un caractère spécial qui fait référence au motif trouvé.

1voto

galeksic Points 121

Avec GNU sed :

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

1voto

potong Points 161

Cela pourrait fonctionner pour vous (GNU sed) :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X