awk最初のパターンマッチの後の行(含まない)

awk最初のパターンマッチの後の行(含まない)

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/,""'動作します。

これゴークマニュアル詳細については。

おすすめ記事