最初の列値のコピーが1つだけ含まれている行のみを印刷します。

最初の列値のコピーが1つだけ含まれている行のみを印刷します。

複数のファイルがあり、各ファイルは次のようになります。

HWI-ST913:300:C5W5DACXX:7:1101:1477:2147    Ha1_00044161    80.6    31  6   0   94  2   1   31  5.1e-11 63.2
HWI-ST913:300:C5W5DACXX:7:1101:1629:2128    Ha6_00047653    90.9    33  3   0   2   100 173 205 5.1e-11 63.2
HWI-ST913:300:C5W5DACXX:7:1101:1649:2180    Ha9_00011743    100.0   33  0   0   100 2   274 306 7.8e-12 65.9
HWI-ST913:300:C5W5DACXX:7:1101:1649:2180    Ha5_00006578    100.0   33  0   0   100 2   98  130 7.8e-12 65.9
HWI-ST913:300:C5W5DACXX:7:1101:1649:2180    Ha12_00033467   100.0   33  0   0   100 2   91  123 7.8e-12 65.9
HWI-ST913:300:C5W5DACXX:7:1101:6099:2062    B2KZF9_PICAB    100.0   33  0   0   1   99  73  105 2.4e-13 70.9
HWI-ST913:300:C5W5DACXX:7:1101:6891:2170    Ha2_00026275    87.9    33  4   0   2   100 27  59  9.3e-13 68.9
HWI-ST913:300:C5W5DACXX:7:1101:6891:2170    Ha13_00015465   87.9    33  4   0   2   100 884 916 9.3e-13 68.9
HWI-ST913:300:C5W5DACXX:7:1101:6891:2170    Ha17_00009154   87.9    33  4   0   2   100 420 452 9.3e-13 68.9

最初の列が一意の行だけを維持したいと思います。これが私が望む結果です:

HWI-ST913:300:C5W5DACXX:7:1101:1477:2147    Ha1_00044161    80.6    31  6   0   94  2   1   31  5.1e-11 63.2
HWI-ST913:300:C5W5DACXX:7:1101:1629:2128    Ha6_00047653    90.9    33  3   0   2   100 173 205 5.1e-11 63.2
HWI-ST913:300:C5W5DACXX:7:1101:6099:2062    B2KZF9_PICAB    100.0   33  0   0   1   99  73  105 2.4e-13 70.9

ベストアンサー1

KISSメソッドawk:行の配列と数を保持し、最後の数が1の行のみを印刷します。

awk '{a[$1]=$0; c[$1]++} END{for (i in a) {if (c[i] == 1) print a[i]}}' file

uniq-wまたは()オプションをサポートするバージョンがある場合--check-chars

  1. データは最初のフィールドに基づいてソートされます。

  2. 最初のフィールドの幅は一定です。

これにより、次のものを代わりに使用できます。

uniq -uw 40 file
HWI-ST913:300:C5W5DACXX:7:1101:1477:2147    Ha1_00044161    80.6    31  6   0   94  2   1   31  5.1e-11 63.2
HWI-ST913:300:C5W5DACXX:7:1101:1629:2128    Ha6_00047653    90.9    33  3   0   2   100 173 205 5.1e-11 63.2
HWI-ST913:300:C5W5DACXX:7:1101:6099:2062    B2KZF9_PICAB    100.0   33  0   0   1   99  73  105 2.4e-13 70.9

これは、アプリケーションにとって重要な場合は、元のファイルの順序を維持するという利点があります。

おすすめ記事