次の表形式のファイルがあります。
abc00000000 1 643301 643374 Ile AAT 0 0 80.6
abc00000000 2 1278112 1278193 Ser GCT 0 0 86.2
abc00000000 3 1278382 1278463 Ser GCT 0 0 87.4
abc00000000 4 1282753 1282824 Glu TTC 0 0 70.9
abc00000001 1 138441 138512 Glu TTC 0 0 70.9
abc00000001 2 186490 186571 Leu AAG 0 0 71.6
abc00000002 1 1342954 1343060 Tyr GTA 1342991 1343024 78.3
abc00000002 2 1359693 1359620 Val AAC 0 0 75.1
abc00000002 3 943029 942957 Val CAC 0 0 73.2
最初の2列にのみ興味があります。
最初の列はDNA足場の名前を表し、2番目の列はこれらの足場で何かが異なることが発生した回数です(毎回異なる突然変異であるとします)。
各足場の突然変異の数を提供するコマンドを見つけようとしています。したがって、足場「abc00000000」には4つの突然変異があり、足場「abc00000001」には2つの突然変異があります。
「awk」が機能する可能性がありますが、正しいコマンドが見つかりません。ありがとう
ベストアンサー1
各足場名が最初の列に表示される回数を数えたいと思います。その場合は、次のようにできます。
$ sort file | awk '{print $1}' | uniq -c
4 abc00000000
2 abc00000001
3 abc00000002
または、ファイルがカーソルでソートしたくない場合:
$ awk '{a[$1]++}END{for(i in a){print i, a[i]}}' file
abc00000000 4
abc00000001 2
abc00000002 3