ファイル内容の重複エントリを列ごとに削除するには?

ファイル内容の重複エントリを列ごとに削除するには?

次の内容を含むファイルがあります。

WP_021815421.1  OG5_132922  deth|YP_182312  3   -07 42.35   81.7
WP_021815427.1  OG5_128110  rbal|NP_868155  1   -55 50.72   53.2
WP_012456834.1  NO_GROUP    bsui|NP_700181  8   -53 48.18   62
WP_084606289.1  OG5_132922  aful|NP_069703  5   -28 57.00   92.6
WP_084606284.1  OG5_153487  bpse|YP_331974.1    6   -78 48.87   91.4

2番目の列の下部にある重複行を削除したいと思います(OG number)。出力には同じOG number

使用していますsort -usort -k 2 -u 動作しません。

ベストアンサー1

awk '!seen[$2]++' file

これにより、2番目の列の一意の行のみが印刷されます。出力:

WP_021815421.1  OG5_132922  deth|YP_182312  3   -07 42.35   81.7                                                                                                                                                                          
WP_021815427.1  OG5_128110  rbal|NP_868155  1   -55 50.72   53.2                                                                                                                                                                             
WP_012456834.1  NO_GROUP    bsui|NP_700181  8   -53 48.18   62                                                                                                                                                                               
WP_084606284.1  OG5_153487  bpse|YP_331974.1    6   -78 48.87   91.4

おすすめ記事