Как использовать Sed для редактирования текста в файле .srt?

Как использовать Sed для редактирования текста в файле .srt?

У меня проблема с файлом субтитров (.srt). Он не работает. И я хочу добавить некоторые параметры ко многим строкам текста с помощью Regex в программе Sed.

изменения по сравнению с этой моделью:

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

к этому:

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

",000" добавлено после "чч:мм:сс"

Как написать регулярное выражение для этой задачи?

решение1

Используйте следующее:

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

Он заменит все вхождения времени в формате XX:XX:XXна XX:XX:XX,000. &— это специальный символ, который ссылается на найденный шаблон.

решение2

С помощью GNU sed:

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

решение3

Это может вам подойти (GNU sed):

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

Связанный контент