Sed を使用して .srt ファイル内のテキストを編集するにはどうすればよいですか?

Sed を使用して .srt ファイル内のテキストを編集するにはどうすればよいですか?

字幕ファイル (.srt) に問題があります。動作しません。また、Sed プログラムで正規表現を使用して、多数のテキスト行にいくつかのパラメータを追加したいと考えています。

このパターンからの変更点:

00:00:00 --> 00:00:06

これに:

00:00:00,000 --> 00:00:06,000

「hh:mm:ss」の後に「,000」が追加されました

この問題の正規表現をどのように記述すればよいでしょうか?

答え1

以下を使用します。

sed 's/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/&,000/g' your_file.srt > new_file.srt

フォーマット内のすべての時刻を.XX:XX:XXに置き換えますXX:XX:XX,000。.&は、見つかったパターンを参照する特殊文字です。

答え2

GNU sed の場合:

sed -r 's/(([0-9]{2}:){2}[0-9]{2})/\1,000/g'

答え3

これはうまくいくかもしれません (GNU sed):

sed -r 's/((^|\s)[0-9]{2}(:[0-9]{2}){2})(\s|$)/\1,000\4/g' file

関連情報