Dividir um conjunto de dados para massivos e encontrar o máximo para cada

0

Eu tenho um conjunto de dados com esta aparência:

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

Eu preciso dividir o conjunto de dados para massivos usando a regra de que o próximo valor na primeira coluna é maior que o anterior em mais de 1 e encontrar os valores máximos na segunda coluna para cada um dos maciços . Então o resultado nesse caso seria:

1   0.1
5   0.73
12  0.68

Eu tentei algumas coisas com o parâmetro NR , mas aparentemente não consegui. Por isso, apreciarei qualquer ajuda ou conselho que você possa dar.

    
por Kredo 16.09.2015 / 07:56

1 resposta

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
    
por 16.09.2015 / 09:48