同じ列の2つのパターン間の線を抽出するには?

同じ列の2つのパターン間の線を抽出するには?

間の線を抽出したい特許1到着特許2最初の列にのみ依存するパターン行を含めると、パターンは最初の列に一度だけ存在しますが、他の列に複数回存在することがあります。私の入力ファイルの例

0.000 0.8928 0.893
0.500 PAT1 0.902
PAT1 0.8974 0.9116
1.500 0.8986 0.9199
2.000 0.8989 0.9258
2.500 PAT1  0.9285
3.000 0.8978 0.9272
3.500 0.8959 0.9219
PAT2  0.8936 0.9128
4.500 0.8912 0.9009
5.000 0.8889 PAT2
5.500 0.887 0.8718
6.000 PAT2 0.8565
6.500 0.8858 0.8414
7.000 0.8871 0.8271

私の出力は次のようになります

PAT1 0.8974 0.9116
    1.500 0.8986 0.9199
    2.000 0.8989 0.9258
    2.500 PAT1  0.9285
    3.000 0.8978 0.9272
    3.500 0.8959 0.9219
    PAT2  0.8936 0.9128

私の軌道は次のようにawkを使用しています

awk '/PAT1/,/PAT2/' input

しかし、これは熱とは関係ありません。

ベストアンサー1

次のようにawkコードを変更します。

awk '$1 ~ /PAT1/,$1 ~ /PAT2/' input

これにより、行全体ではなく列1を一致させることができます。

おすすめ記事