如何使用 Sed 编辑 .srt 文件中的文本?

如何使用 Sed 编辑 .srt 文件中的文本?

我的字幕文件 (.srt) 有问题。它无法工作。我想在 Sed 程序中使用 Regex 为多行文本添加一些参数。

与此模式相比,发生了以下变化:

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

更改为:

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

在“hh:mm:ss”后添加“,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

相关内容