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(두 번째 열 선택)의 출력을 옵션으로 및 (@αГsнιι가 언급한 대로) 파이프로 연결해 볼 수 sort있습니다 .uniq--count

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

관련 정보