sed で \n を空白に、\n\n を \n に変更するには?

sed で \n を空白に、\n\n を \n に変更するには?

ファイルをプレーンテキストファイルにsed変換するために使用します。 srt` ファイルの形式は次のとおりです。srtAn

1
00:20:41,150 --> 00:20:45,109
line 1
line 2

2
00:21:41,150 --> 00:21:45,109
line 3
line 4

そのため、次のコマンドを使用してテキスト以外の行を削除しました。

sed -r '/^[0-9]+$/{N;d}' file.srt > file.txt

生産する

line1
line2

line3
line4

しかし、私は得たいです。

line1 line2
line3 line4

(各字幕セグメントを1行で表示)

どうすればいいですか?

ベストアンサー1

これを使用してスキーマを取得します。

sed ':begin;$!N;s/\n/ /;tbegin' file.txt | sed 's/  /\n/g'

おすすめ記事