3 つの異なるパターンがあり、どのパターンがファイルに最初に表示され、どの親がファイルに最後に表示されるかを調べたいので、最初と最後のパターンを含む行も印刷する必要があります。
私は以下のgrepを試しましたが、1つのパターンにのみ適用されます。パターンのランクを見つける方法を見つけたら、「tac」を使用して同じロジックで最後のパターンを印刷できると思います。
grep -m 1 "pattern1" test.txt
私の3パターンは
1.PATTERN1
2.PATTERN2
3.PATTERN3
Line1 this is a sample line for example without any meaning please ignore
Line2 only meant for giving an example PATTERN2 to make my query clear to all
Line3 this is a sample line for example without any meaning please ignore
Line4 only meant for giving an example pattern1 to make my query clear to all
Line5 this is a sample line for example without any meaning please ignore
Line6 only meant for giving an example pattern1 to make my query clear to all
Line7 this is a sample line for example without any meaning please ignore
Line8 only meant for giving an example pattern2 to make my query clear to all
Line9 this is a sample line for example without any meaning please ignore
Line10 only meant for giving an example pattern3 to make my query clear to all
Line11 only meant for giving an example pattern1 to make my query clear to all
PATTERN1、PATTERN2、PATTERN3 のいずれかのパターンの最初の出現を含む行を印刷したいと考えています。
したがって、望ましい出力は次のようになります。
First pattern among the three
-------------------------------
Line2 only meant for giving an example PATTERN2 to make my query clear to all
Last instance amoung the three:
-------------------------------
Line11 only meant for giving an example pattern1 to make my query clear to all