0

我的 .srt 文件由具有相同模式的段落组成。每个文档中的段落数量是不同的。我想保留段落的编号,将时间保留在第二行,然后基本上只保留“BAROMETER:”和旁边的数字。最后一行也可以出去。

非常感谢每一个帮助!

我正在运行一个 mac 并想在 automator 或任何其他程序中执行它

这就是段落现在的样子

1
00:00:01,000 --> 00:00:02,000
HOME(11.6488,51.7185) 2016.06.02 13:19:11
GPS(11.6488,51.7185,18) BAROMETER:3.5
ISO:100 Shutter:400 A:63 AA:63 EV: Fnum:6.3 

2
00:00:02,000 --> 00:00:03,000
HOME(11.6488,51.7185) 2016.06.02 13:19:12
GPS(11.6488,51.7185,17) BAROMETER:3.5
ISO:100 Shutter:400 A:63 AA:63 EV: Fnum:6.3 

这就是我希望他们之后的样子

3
00:00:03,000 --> 00:00:04,000
BAROMETER:4.3

4
00:00:04,000 --> 00:00:05,000
BAROMETER:5.3
4

1 回答 1

1
grep -oE "^[0-9].*$|^$|BAROMETER.*$" input-file


编辑:根据您的评论,您似乎想为文件夹中的每个文件执行此操作并就地替换。在这种情况下,最好使用findand sed,例如

find "$@" -type f -name "*.srt" -exec \
    sed -i.bak '/^[0-9]\|BAROMETER\|^$/!d;s/^.*\(BAROMETER\)/\1/' {} \;

我从来没有真正使用过 Automator,但是文档中有非常详细的示例。

于 2016-06-09T19:49:31.117 回答