我想从一个设置的字幕文件中提取开始时间、结束时间和字幕文本。有什么更好的方法来做到这一点呢?字幕文件如下:
1
00:00:14,680 --> 00:00:23,960
on
2
00:00:24,480 --> 00:00:30,000
VERT
3
00:00:30,080 --> 00:00:38,120
UD
4
00:00:38,120 --> 00:00:39,040
REST我想要以下几点:
00:00:14.680 , 00:00:23.960, on
00:00:24.480 , 00:00:30.000, VERT
00:00:30.080 , 00:00:38.120, UD
00:00:38.120 , 00:00:39.040, REST在googling搜索之后,我可以使用以下内容在在线regex上提取,如图所示。如何将提取的文本放入文件(并将,替换为. )
(\d.{11})\s-->\s(\d.{11})[\r\n](\w+)

更新:从下面得到了我想要的东西。是否有任何方法可以将,\替换为。?
gawk 'match($0, /([0-9].{11})\s-->\s([0-9].{11})/, a) {getline; print a[1], "\t", a[2],"\t", $0}' 发布于 2020-12-09 04:34:14
这使用grep和perl进行工作:
$ cat text.txt | egrep -v '^[0-9]*$'| perl -pe 's/(:\d{2}),(\d)/$1.$2/g; s/ *--> */, /; s/(\d)\n/$1, /g;'
00:00:14.680, 00:00:23.960, on
00:00:24.480, 00:00:30.000, VERT
00:00:30.080, 00:00:38.120, UD
00:00:38.120, 00:00:39.040, RESTegrep移除空行和数字行perl搜索&将逗号替换为点,将-->箭头固定为逗号,并将两行与逗号连接起来。
https://stackoverflow.com/questions/65210530
复制相似问题