데이터 세트를 다수의 데이터로 분할하고 각 데이터의 최대값을 찾습니다.

데이터 세트를 다수의 데이터로 분할하고 각 데이터의 최대값을 찾습니다.

아래와 같은 데이터 세트가 있습니다.

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

관련 정보