事情是这样的...我在udacity上下了一门课程和字幕,然后发现字幕与课程对不上,于是我去搜这门课上的讨论区,发现有个人提出和我一样的问题,然后里面的大神给出了一个解释:
srt字幕文件用 h1:m1:s1 --> h2:m2:s2 来定义时间
但是下载下来的字幕文件虽然是srt格式但是却用h1:m1:s1,h2:m2:s2来定义时间,导致了字幕与视频不匹配.
因此解决方法是将下载下来的字幕文件时间格式中的"." 修改成 " --> "(我手动修改了几行...发现真的可行!)
于是他写了一个bash 脚本完成这个操作.
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 ...由于我刚刚接触编程...完全不知道哪步有问题.....于是来求助了...
那么问题来了...
按照他的方法我应该怎么做,或者大神们教我如何批量修改字幕???
1
nilennoct 2015-02-03 17:53:14 +08:00 via iPad
这个随便找个支持正则的编辑器批量替换一下就好了啊?
Replace /(\d+:\d+:\d+)\s?,\s?(\d+:\d+:\d+)/ with “$1 --> $2" |