列のパターンが2つの行で一致する場合、新しい行を印刷する方法は?

列のパターンが2つの行で一致する場合、新しい行を印刷する方法は?

次のファイルがあります。

transcr_15824 -
YML042W -
transcr_18545 -
YCR105W +
transcr_16934 +
YDR032C +
transcr_15237 +
YDL008W -

本当に次のようなものが必要です。

transcr_15824 -
YML042W -
Match
transcr_18545 -
YCR105W +
Not
transcr_16934 +
YDR032C +
Match
transcr_15237 +
YDL008W -
Not

編集:デフォルトでは、2行ごとに2番目の列を比較する必要があります。最初の行の2番目の列が2番目の行の2番目の列と一致する場合は一致します。最初の行の2番目の列が2番目の行の2番目の列と一致しない場合、一致はありません。

ベストアンサー1

1つの方法は次のとおりです。

$ awk '{print} !(NR%2){if($2 == last) print "Match"; else print "Not"} {last = $2}' file
transcr_15824 -
YML042W -
Match
transcr_18545 -
YCR105W +
Not
transcr_16934 +
YDR032C +
Match
transcr_15237 +
YDL008W -
Not

おすすめ記事