それらを含む2つのパターンから最初の出現を選択するにはどうすればよいですか。できればsed
を使用してください またはawk
。
私が持っている:
text
something P1 something
content1
content2
something P2 something
text
something P1 something
content3
content4
something P2 something
text
P1とP2の間の線(P1線とP2線を含む)を最初に出現させたい:
something P1 something
content1
content2
something P2 something
承認された回答:
sed '/P1/,/P2/!d;/P2/q'
…d
によって移植可能に仕事をします !
を実行するすべての行を削除します 範囲内にない場合は、q
範囲の終わりに最初に遭遇したときに使用します。 P1より前のP2では失敗せず、単純に記述するためにGNU固有の構文は必要ありません。