次のファイルがあります。
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
答え2
perl -pae '($_ .= <>) .= qw/NO MATCH/[0+/\n.*\s\Q$F[1]\E$/] . $/' input
自動分割モードでPerlを実行します。 2番目のフィールドは$ F [1]で、itzに一致があるかどうかによって、次の行<>で比較され、現在の行$_に追加されます。