V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
t4tao
V2EX  ›  问与答

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

  •  
  •   t4tao · 2015-02-03 17:26:30 +08:00 · 3703 次点击
    这是一个创建于 3575 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的...我在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 ...由于我刚刚接触编程...完全不知道哪步有问题.....于是来求助了...
    那么问题来了...
    按照他的方法我应该怎么做,或者大神们教我如何批量修改字幕???

    nilennoct
        1
    nilennoct  
       2015-02-03 17:53:14 +08:00 via iPad
    这个随便找个支持正则的编辑器批量替换一下就好了啊?
    Replace /(\d+:\d+:\d+)\s?,\s?(\d+:\d+:\d+)/ with “$1 --> $2"
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1133 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:22 · PVG 02:22 · LAX 10:22 · JFK 13:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.