Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 列的直方图频率计数_Unix_Awk - Fatal编程技术网

Unix 列的直方图频率计数

Unix 列的直方图频率计数,unix,awk,Unix,Awk,我有一组数据(在800000行的范围内),分为三列(经度、纬度和地震震级),没有以任何方式排序。下面是一个小例子 -118.074 36.930 2.97 -118.005 36.898 2.61 -116.526 36.621 2.72 -116.488 36.650 2.68 -117.675 36.820 2.00 -117.963 36.514 1.30 -118.090 36.757 1.94 -117.651 36.518 1.40 -116.434 36.506 1.90 -117

我有一组数据(在800000行的范围内),分为三列(经度、纬度和地震震级),没有以任何方式排序。下面是一个小例子

-118.074 36.930 2.97
-118.005 36.898 2.61
-116.526 36.621 2.72
-116.488 36.650 2.68
-117.675 36.820 2.00
-117.963 36.514 1.30
-118.090 36.757 1.94
-117.651 36.518 1.40
-116.434 36.506 1.90
-117.914 36.531 2.10
-118.235 36.882 2.00
我需要创建地震震级的柱状图(范围为1.0到7.0),但我不确定如何创建震级频率

我知道为了创建直方图,我需要识别唯一的值,并在列中按升序设置它们。我相信我可以运行一个for命令,每个值都有一个count函数。。。但是我需要一点帮助


谢谢你能提供的任何帮助

awk'{counts[$3]+}END{for(c in counts)print c,counts[c]}'inputs.txt | sort-nk2

将按升序打印唯一震级及其计数:

1.30 1
1.40 1
1.90 1
1.94 1
2.10 1
2.61 1
2.68 1
2.72 1
2.97 1
2.00 2

您只需要为最后一个字段保留一个计数器:
{count[$3]+}