1

次のファイルがあります。

1
1
2
3
3
3
4
4
5
5
5
5

数字が何回出現し、これが何回頻繁に出現するかを数えたいと思います。たとえば、数字 1 は 2 回、数字 2 は 1 回、数字 3 は 3 回、数字 4 は 2 回、5 は 4 回表示されます。 ; 出力は 2 列のファイルで、最初の列は数値が列に表示される回数、2 番目の列は数値が繰り返される回数を表します。

2 2  %(because the number 1 and number 4 appear 2 times and there are only 2 number that appear this often)
1 3
1 1
1 4

出力例ファイルが理解に役立つことを願っています...

4

2 に答える 2

2

この行で結果が得られるはずです。

awk '{a[$0]++}END{for(x in a)b[a[x]]++;for(x in b)print b[x], x}' file

あなたのデータで:

kent$  cat file
1
1
2
3
3
3
4
4
5
5
5
5

kent$  awk '{a[$0]++}END{for(x in a)b[a[x]]++;for(x in b)print b[x], x}' file
1 4
1 1
2 2
1 3
于 2013-04-26T13:20:16.950 に答える