【问题标题】:How to manipulate text via command-line utilities: grep, cut, awk, sed or BBEdit (Grep Find Option)如何通过命令行实用程序操作文本:grep、cut、awk、sed 或 BBEdit(Grep 查找选项)
【发布时间】:2020-06-24 19:34:36
【问题描述】:

我正在为一个 srt 文件而苦苦挣扎。我有一个非常长的字幕文件,我想自动在一行上获取字幕文本,而不是像原始文件中的两行(或最差的)三行。我尝试了许多解决方案,决定使用 BBEdit,并通过 Grep Find Option 找到解决我的问题的方法,但是,正如我所说,我陷入了困境!

在这里,我向您展示我的问题的一个简短示例:

原创

1
00:00:00,600 --> 00:00:03,760
Block 1 - line one
Block 1 - line one

2
00:00:03,960 --> 00:00:07,120
Block 2 - line one
Block 2 - line two
Block 2 - line three

我想要什么:

1
00:00:00,600 --> 00:00:03,760
Block 1 - line one Block 1 - line one

2
00:00:03,960 --> 00:00:07,120
Block 2 - line 1 Block 2 - line two Block 2 - line three

实际上,如果您找到不同程序的解决方案,我也会很高兴!

提前致谢!

【问题讨论】:

    标签: awk sed grep bbedit srt


    【解决方案1】:
    $ gawk '
    >     /Block/ { block = block sep $0; sep = " " }
    >     !/Block/ { if (block != "") {
    >                    print block
    >                    block = sep = "" }
    >                print $0 }
    >     END { if (block != "") print block }
    > ' << EOF
    > 1
    > 00:00:00,600 --> 00:00:03,760
    > Block 1 - line one
    > Block 1 - line one
    >
    > 2
    > 00:00:03,960 --> 00:00:07,120
    > Block 2 - line one
    > Block 2 - line two
    > Block 2 - line three
    > EOF
    1
    00:00:00,600 --> 00:00:03,760
    Block 1 - line one Block 1 - line one
    
    2
    00:00:03,960 --> 00:00:07,120
    Block 2 - line one Block 2 - line two Block 2 - line three
    

    【讨论】:

      猜你喜欢
      • 2017-08-28
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-23
      相关资源
      最近更新 更多