画面に継続的に出力するプロセスがあります。出力をアクティブに監視できるように、出力内の次の Perl の正規表現で CamelCase の単語を検索したいと考えています。
/\b([a-z]*[A-Z][a-z]*){2,}\b/
画面に継続的に出力するプロセスがあります。出力をアクティブに監視できるように、出力内の次の Perl の正規表現で CamelCase の単語を検索したいと考えています。
/\b([a-z]*[A-Z][a-z]*){2,}\b/
GNU/Screen でテストし、ソース コードを確認しました。どちらも、これは不可能であることを示唆しています。検索機能は、基本的な文字列一致のみをサポートしているようです。
私がお勧めするのは、tee
コマンドを使用して、プログラムの出力を印刷するだけでなく、ファイルに送信することです。その後、ファイルに対して Perl または grep を使用できます。
$ your_program | tee your_program_output
$ grep pattern your_program_output
screen 内でティーを使用せずに既にプログラムを実行していて、再度実行したくない場合は、スクロールバック バッファーが十分に大きいと仮定すると、スクロールバック バッファー全体をファイルにコピーしてから、好みの方法で検索できます。
はい、出力をキャプチャして検索します。gnu/screen はデータをキャプチャするための適切なツールではなく、多くのことがうまくいかない可能性があります。ただし、明らかに screen セッション内で実行できます。