请教如何批量修改字幕文件的时间格式

2015-02-03 17:26:30 +08:00
 t4tao

事情是这样的...我在udacity上下了一门课程和字幕,然后发现字幕与课程对不上,于是我去搜这门课上的讨论区,发现有个人提出和我一样的问题,然后里面的大神给出了一个解释:
srt字幕文件用 h1:m1:s1 --> h2:m2:s2 来定义时间
但是下载下来的字幕文件虽然是srt格式但是却用h1:m1:s1,h2:m2:s2来定义时间,导致了字幕与视频不匹配.
因此解决方法是将下载下来的字幕文件时间格式中的"." 修改成 " --> "(我手动修改了几行...发现真的可行!)

于是他写了一个bash 脚本完成这个操作.

!/usr/bin/env bash

convert-srt-for-udacity

srt=$1
dos2unix "$srt" 2>/dev/null
sed -ie "s/^([[:digit:]:.]),([[:digit:]:.])[[:blank:]]*$/\1 --> \2/" "$srt"

At last use this command to convert all subtitles batchly
for i in *.srt; do ./convert-srt-for-udacity "$i"; done

以上是他的脚本....
原帖地址:http://stackoverflow.com/questions/26253116/vlc-cannot-display-the-subtitles-in-the-subripsrt-file

恰好我用的是mac , 于是我cd 到 字幕文件夹后 按他的脚本 复制进bash....在sed那条命令下显示:No Such File or Directory ...由于我刚刚接触编程...完全不知道哪步有问题.....于是来求助了...
那么问题来了...
按照他的方法我应该怎么做,或者大神们教我如何批量修改字幕???

3679 次点击
所在节点    问与答
1 条回复
nilennoct
2015-02-03 17:53:14 +08:00
这个随便找个支持正则的编辑器批量替换一下就好了啊?
Replace /(\d+:\d+:\d+)\s?,\s?(\d+:\d+:\d+)/ with “$1 --> $2"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/167935

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX