我有一个文本文件,这是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
第一个字段是数据,第二个字段是该数据的相应副本。