一致するまでファイルから3行を削除します。

一致するまでファイルから3行を削除します。
982
01:25:09,473 --> 01:25:10,978
Stay with me.

983
01:25:09,473 --> 01:25:10,978
Stay with me.

984
01:25:15,390 --> 01:25:18,484
( MAJESTIC MUSIC )

984次の3行(含む)を削除したいと思います。私はこれを試しましたが、うまくいきません。

perl -0777 -pe 's/.*\n.*\n\(.*\)//'

ベストアンサー1

相対アドレスを理解するためにaを使用してくださいsed(非標準ですが、一般的にサポートされています)。

$ sed '/^984$/,+2d' input_file
982
01:25:09,473 --> 01:25:10,978
Stay with me.

983
01:25:09,473 --> 01:25:10,978
Stay with me.

または以下を使用してsed

sed '/^984$/{$!N;$!N;d;}' input_file

つまり、一致にN次の2行(存在する場合)を追加し、d両方を削除します。

おすすめ記事