awkを使用して列に表示されるすべての値を一覧表示する[重複]

awkを使用して列に表示されるすべての値を一覧表示する[重複]

遺伝情報を含む大容量データファイルがあります。

head Homo_sapiens.GRCh38.93.chr.onlyGene.gff3
1       ensembl gene    100000637       100000739       .       -       .       ID=ENSG00000202259;Name=RNU6-1318P;Name=ENSG00000202259
1       ensembl gene    101133153       101133339       .       +       .       ID=ENSG00000252765;Name=RF00424;Name=ENSG00000252765
1       ensembl gene    10163268        10163374        .       +       .       ID=ENSG00000201746;Name=RNU6-828P;Name=ENSG00000201746
1       ensembl gene    101728642       101728737       .       -       .       ID=ENSG00000252530;Name=RNU6-965P;Name=ENSG00000252530
1       ensembl gene    101859851       101859957       .       +       .       ID=ENSG00000252717;Name=RNU6-352P;Name=ENSG00000252717
1       ensembl gene    10298966        10299072        .       +       .       ID=ENSG00000199562;Name=RNU6-37P;Name=ENSG00000199562
1       ensembl gene    10306465        10306757        .       +       .       ID=ENSG00000264501;Name=RN7SL731P;Name=ENSG00000264501
1       ensembl gene    103523562       103523879       .       +       .       ID=ENSG00000222069;Name=RN7SKP285;Name=ENSG00000222069
1       ensembl gene    10616836        10617115        .       +       .       ID=ENSG00000243267;Name=RN7SL614P;Name=ENSG00000243267
1       ensembl gene    109100193       109100612       .       +       .       ID=ENSG00000278249;Name=SCARNA2;Name=ENSG00000278249

tail Homo_sapiens.GRCh38.93.chr.onlyGene.gff3
Y       havana  gene    9740584 9758476 .       +       .       ID=ENSG00000212855;Name=TTTY2;Name=ENSG00000212855
Y       havana  gene    9753156 9774289 .       -       .       ID=ENSG00000129845;Name=TTTY1;Name=ENSG00000129845
Y       havana  gene    9801153 9813245 .       +       .       ID=ENSG00000224075;Name=TTTY22;Name=ENSG00000224075
Y       havana  gene    9813315 9817513 .       +       .       ID=ENSG00000228379;Name=AC010891.1;Name=ENSG00000228379
Y       havana  gene    9831418 9846696 .       -       .       ID=ENSG00000229208;Name=RBMY2NP;Name=ENSG00000229208
Y       havana  gene    9868462 9868702 .       -       .       ID=ENSG00000274445;Name=AC006986.1;Name=ENSG00000274445
Y       havana  gene    9869664 9870781 .       +       .       ID=ENSG00000231874;Name=TSPY18P;Name=ENSG00000231874
Y       havana  gene    9905595 9908139 .       -       .       ID=ENSG00000187657;Name=TSPY13P;Name=ENSG00000187657
Y       havana  gene    9910798 9911962 .       +       .       ID=ENSG00000239225;Name=TTTY23;Name=ENSG00000239225
Y       havana  gene    9951553 9959423 .       +       .       ID=ENSG00000234950;Name=RBMY2OP;Name=ENSG00000234950

列2は、データソース(遺伝子が登録された生物学的データベース)を示しています。

2列のすべての値を表示しますが、各値を一度だけ表示する方法はありますか?たとえばensembl, havana, foo, bar、可能であれば各値にはいくつの行が含まれますか?

答え1

以下を使用してすべての操作を実行できます。AWK

awk '{A[$2]++}END{for(i in A)print i,A[i]}' Homo_sapiens.GRCh38.93.chr.onlyGene.gff3

出力は次のとおりです

ensembl 10
havana 10

答え2

awk(2番目の列の選択)の出力をオプションとして、および(@αГsнιιが述べたように)パイプで接続してみることができますsortuniq--count

awk '{print $2}' Homo_sapiens.GRCh38.93.chr.onlyGene.gff3 | sort | uniq -c

関連情報