我在文本文件中有很多未排序的数据,格式如下:

1.0 10
1.8 10
1.1 10
1.9 20
2.8 20
2.1 20
2.9 20
...

对于第二列中的每个值,我想得到第一列中值的间隔。所以对于上面的例子,结果应该是
1.0 1.8 10
1.9 2.9 20

如何使用c/c++、awk或其他linux shell工具来实现这一点?

最佳答案

你可以用这个锥子:

awk '{
        if (!($2 in nmin) || $1<nmin[$2])
            nmin[$2]=$1;
         else if ($1>=nmax[$2])
            nmax[$2]=$1
     }
     END {
        for (a in nmin)
           print nmin[a], nmax[a], a
     }
' inFile

关于linux - 查找第一列的最小值和最大值-按第二列分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16400804/

10-12 23:20