Windows でのリアルタイムパイプ処理の問題です。
奇数行は入力したもの、偶数行は gawk が表示したものです。
C:\>gawk 1
abc
abc
def
def
^Z
ところが、パイプを通すと、
C:\>gawk 1 | gawk 1
abc
def
^Z
abc
def
となるという話ですが、個人的にあまり使わない関数 fflush() を使うと出力をフラッシュします。
C:\>gawk {print;fflush()} | gawk {print;fflush()}
abc
abc
def
def