1

例: タイムスタンプをすべてマイナス 1 にする方法、ありがとう :)

srt テキスト ファイルの一部:

1
00:00:04,110 --> 00:00:08,409 
hi my name's mike

......

そして私はそれをさせたい:

1
00:00:03,110 --> 00:00:07,409 
hi my name's mike

......
4

2 に答える 2

1

vim の正規表現を使用して、必要なものを取得できます。

:%s;\(\d\{2}\)\(,\d\{3}\);\=printf("%02d%s", submatch(1) - 1, submatch(2));g

:           - begin command line mode.
%           - entire file.
s           - substitute.
;           - field separator.
\(          - begin sub-expression.
\d          - match digit.
\{2)        - match exactly two.
\)          - end sub-expression.
,           - actual comma.
\{3)        - match exactly three.
printf()    - internal vim function (see :h printf).
submatch(1) - match first sub-expression.
submatch(2) - match second sub-expression.
g           - replace all occurrences in the line.
于 2013-09-29T15:35:15.043 に答える