如何使用AWK查找特定列的最大值和最小值

时间:2017-09-22 07:28:29

标签: sorting awk sed

我试图找出大尺寸文件(4.3gb)中第4列的最小值和最大值。我能够找到最大值,但无法找到最小值。我尝试了很多命令而且我无法得到确切的结果,你能不能在2命令输出中找出差异,并给出找到该列最小值的解决方案。

sort -k4 -n 38690797_no_null.txt | head -1 | awk '{print $4}'

输出:没有输出只是空白

cut -f4 -d " " 38690797_no_null.txt| sort -n | head   

输出:

0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

我也试过这个命令

awk 'function max(x){i=0;for(val in x){if(i<=x[val]){i=x[val];}}return i;}
function min(x){i=max(x);for(val in x){if(i>x[val]){i=x[val];}}return i;}
{a[$4]=$4;next} END{minimum=min(a);maximum=max(a);print "Maximum = "maximum " and Minimum = "minimum}' junk.txt

输出最大值= 0.812698,最小值=

所有上述命令工作完全适用于小型文件(200行),但不适用于大型文件(38,690,794行)

0 个答案:

没有答案