大量のデータが stdout を介して長時間 (おそらく 1 時間) 流れているとします。そのウィンドウの途中で発生するトリガーに基づいて、そのデータの 30 秒のウィンドウをキャプチャしたいとします。たとえば、次のようなものかもしれません
$ program-that-outputs-lots-of-data | program-that-captures-a-window-of-data
ある時点で、「A-unique-string」を含む行がプログラムによって出力されます。その時点で、その文字列の前後の 15 秒分のデータを保存し、その前のすべてを破棄したいと考えています。その直後に、同じ文字列の監視を再開し、別のウィンドウが表示されたらキャプチャして、新しいファイルに保存したいと考えています。Linuxツールでこのようなことを行う方法はありますか?