echoer
画面に多くの情報を印刷するスクリプト(と呼びます)があります。パターンを見つけた後に線を見ることができるようにしたいと思います。
私は使用するソリューションが次のようになると想像しています。
echoer | solution_command <pattern>
理想的にはpattern
正規表現ですが、ハード値文字列で十分です。
ベストアンサー1
AWKは、正規表現を使用できるパターン範囲を使用してこれを実行できます。
echoer | awk '/pattern/,0'
echoer
出力は一致する最初の行から印刷されますpattern
。
AWKはパターンベースであり、通常、「このパターンが一致した場合は次のようにします」タイプのメソッドで使用されます。 「このパターン」は、「このパターンが一致すると、他のパターンが一致するまでこれを開始します」と定義された一連のパターンです。これは、上記のようにコンマで区切られた2つのパターンを作成することによって指定されます。パターンは、のようにテキストマッチングにすることができます。ここで、/pattern/
現在の行は正規表現として解釈され、一般式でもあります。これは各行について評価され、結果が一致しないと見なされます。 0または空ではありません。
AWKでは、基本的な作業は現在の行を印刷することです。
これらすべてをまとめると、awk '/pattern/,0'
一致する行を見つけ、pattern
見つかったら、条件が0
一致するまで(ゼロ以外)、デフォルトの操作がすべての行に適用されます。awk '/pattern/,""'
動作します。
これゴークマニュアル詳細については。