テキストファイルがあり、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
私は、次のようなものを持つように、各行の4番目の値に基づいて数の行列が必要です。
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
最初のフィールドはデータで、2番目のフィールドはそのデータの対応するコピーです。