将一组数据拆分为大量数据并找到每个数据的最大值

将一组数据拆分为大量数据并找到每个数据的最大值

我有一组数据,如下所示:

1   0.1
2   0.23
3   0.05
5   0.73
6   0.40
7   0.34
10  0.11
11  0.45
12  0.68

我需要使用第一列中的下一个值比前一个值大超过 的规则将数据集拆分为大量数据1,并在第二列中找到每个大量数据的最大值。所以这种情况下的结果将是:

1   0.1
5   0.73
12  0.68

我尝试了一些带有NR参数的事情,但显然没有成功。因此,我将感谢您提供的任何帮助或建议。

答案1

awk '
     $1 > count + 1{
         print max_n, max
         max = $2 - 1
     }
     max < $2{
         max = $2
         max_n = $1
     }
     {
        count = $1
     }
     END{
         print max_n, max
     }' file

相关内容