行の読み取りと削除

行の読み取りと削除

解決すべき問題について質問がありますが、私の代謝は次のとおりです。

入力する

GTEX-1117F-0003-SM-58Q7G
GTEX-1117F-0003-SM-5DWSB
GTEX-111CU-0826-SM-5EGIJ
GTEX-111CU-0926-SM-5EGIK
GTEX-ZZPU-2726-SM-5NQ8O
GTEX-ZZPU-2626-SM-5E45Y
K-562-SM-2AXVE
K-562-SM-26GMQ

GTEX-1117F最初の文字が「patient」(たとえば、GTEX-111CUおよびGTEX-ZZPU)であることを知らせる別の文書がありますK-562

どの患者が最も多くのサンプルを持っているかを確認するために固有のコードが必要ですか?

したがって、「患者」のサンプル数を知る必要があります。GTEX-1117Fこの場合は2つあります。

出力が必要

GTEX-1117F 2
GTEX-111CU 2
GTEX-ZZPU 2
K-562 2

その後、より多くのサンプルを通して(例えば)「患者」を理解する必要がありますK-562 140

ベストアンサー1

これを使用して、cut各行からダッシュで区切られた最初の2つのフィールドを抽出し、結果を並べ替え、各固有文字列の発生回数を計算できます。

$ cut -d '-' -f 1,2 file | sort | uniq -c | sort -n | head
   2 GTEX-1117F
   2 GTEX-111CU
   2 GTEX-ZZPU
   2 K-562

また、データを渡してsort -n数値をソートし、head最良の結果を得るために使用します。

おすすめ記事