2列ファイルに最初に表示される固有値を印刷するには?

2列ファイルに最初に表示される固有値を印刷するには?

私が使用しているファイルの小さな部分があります。

ENSDARG00000032737    ENSDARP00000120731
ENSDARG00000032737    ENSDARP00000049290
ENSDARG00000061051    ENSDARP00000081062
ENSDARG00000061051     
ENSDARG00000061051    ENSDARP00000129708

最初の列に各固有値の最初のインスタンスを印刷し、2番目の列にその値を印刷したいので、希望の出力は次のようになります。

ENSDARG00000032737    ENSDARP00000120731
ENSDARG00000061051    ENSDARP00000081062

awkやuniqなどを使ってこれを行う簡単な方法はありますか?

どんな助けでも大変感謝します。

ベストアンサー1

POSIXAWK:

m1[$1] == 0 {
   m1[$1] = 1
   print
}

各行に対して、次の操作を行います。

  1. 「データベース」に最初の列があることを確認してください。
  2. それ以外の場合は、「データベース」に追加し、行全体を印刷します。

おすすめ記事