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


2

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

从这种模式的变化:

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

对此:

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

在“hh:mm:ss”之后加上“,000”

如何为这个问题编写正则表达式?


1
@Kane我询问正则表达式的变化模式“hh:mm:ss - > hh:mm:ss”到“hh:mm:ss,000 - > hh:mm:ss,000”。我认为正则表达式是一种编程。

@ terces907道歉我误读了你的问题
凯恩

Answers:


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:XXXX:XX:XX,000&是一个特殊字符,指的是找到的模式。


1

使用GNU sed:

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

1

这可能适合你(GNU sed):

sed -r 's/((^|\s)[0-9]{2}(:[0-9]{2}){2})(\s|$)/\1,000\4/g' file
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.