ここに awk の 1 つがあります:
$ awk '/^=+$/{f=!f;if(f==1)next;else if(f==0)exit}f' file
v2.0.0
Added feature 3
Added feature 4
きれいな文字で:
$ awk '/^=+$/ { # at ===...
f=!f # flag state is flipped
if(f==1) # if its one (first ===...)
next # next record
else if(f==0) # if zero (second ===...)
exit # nothing more to do yeah
}
f' file # print
これは GNU sed の別のものです:
$ sed -n '/^=\+$/,//{//!p;b};q' file
v2.0.0
Added feature 3
Added feature 4
/^=\+$/,//
/^=\+$/,/^=\+$/
の短縮形です 、等号で構成される 2 つの行の間の行が選択され、これらの行に対して次の中括弧内のコマンドが実行されます。//!p
/^=\+$/!p
の短縮形です 、着信回線が=
のみで構成される回線のいずれでもない場合を意味します さ、印刷して、b
サイクルの終わりに行くことを意味します (つまり、q
を渡します) )、q
選択した行を印刷した後に sed を終了するためのものです。
次のバージョンはすべてで動作します POSIX 準拠の sed ですが、見た目は 2 倍の難解です:
sed -n -e '/^=\{1,\}$/,//{//!p;b' -e '}' -e 'q' file
=
が 2 つ続く場合、これらは機能しないことに注意してください。 入力の行。
あなたもフォローしてみてください。
awk '/^=/{count++;next} count>=2{exit} {print}' Input_file