txt 文件中的计数矩阵,grep -c 用于制表符分隔文件?

txt 文件中的计数矩阵,grep -c 用于制表符分隔文件?

我有一个文本文件,这是head它的内容:

1   TACCCTGTAGAACCGAATTTGT  miRNA   mmu-mir-10b PM
2   GCATTGGTGGTTCAGTGGTAGAATTCTCGCCT    tRNA    Mus_musculus_tRNA-Gly-GCC-4-1   PM
3   TACCCTGTAGATCCGAATTTGT  miRNA   mmu-mir-10a PM
4   GCATTGTGGTTCAGTGGTAGAATTCTCGCCT tRNA    Mus_musculus_tRNA-Gly-GCC-2-2   IM
5   ACCCTGTAGAACCGAATTTGT   other   other   NA
6   TACCCTGTAGAACCGAATTTG   other   other   NA
7   GCATTGGTTCAGTGGTAGAATTCTCGCCT   tRNA    Mus_musculus_tRNA-Gly-GCC-2-7   IM
8   GCATTTGTGGTTCAGTGGTAGAATTCTCGCCT    tRNA    Mus_musculus_tRNA-Gly-GCC-4-1   IM
9   TACCCTGTAGAACCGAATTTGTG miRNA   mmu-mir-10b PM
10  GGTGAATATAGTTTACAAAAAACATTAGACTGTGAATC  tRNA    tRNA-His    IM

我想要一个基于每行中第四个值的计数矩阵,这样我就有类似的东西

mmu-mir-10b 2

答案1

awk如果您想要获取位置 #4 中的所有重复项(假设数据由空格分隔),您可以使用:

$ awk '{seen[$4]++} END{for(x in seen) print x, seen[x]}' infile
other 2
Mus_musculus_tRNA-Gly-GCC-2-2 1
Mus_musculus_tRNA-Gly-GCC-2-7 1
mmu-mir-10a 1
mmu-mir-10b 2
tRNA-His 1
Mus_musculus_tRNA-Gly-GCC-4-1 2

第一个字段是数据,第二个字段是该数据的相应副本。

相关内容