가장 높은 값을 가진 행 번호를 가져와야 합니다.

가장 높은 값을 가진 행 번호를 가져와야 합니다.

다음과 같은 txt 파일이 있습니다.

 1  8.92
 2  9.99
 3  9.57
 4  9.63
 5  9.57
 6  9.51
 7  7.84
 8  7.95
 9  9.44
10  9.58
11  9.94
12  10.20
13  9.35

가장 높은 값을 가진 행 번호가 필요합니다. 어떻게 얻을 수 있나요? 예를 들어 이 데이터에 대한 답은 다음과 같습니다.

12 10.20

답변1

정렬을 방지하려면 다음을 수행하십시오.

awk 'NR == 1 || $2 > max {number = $1; max = $2}
     END {if (NR) print number, max}' < file

또는 입력에 하나의 열만 포함되어 있고 가장 큰 값을 가진 행 번호를 알고 싶은 경우:

awk 'NR == 1 || $1 > max {number = NR; max = $1}
     END {if (NR) print number, max}' < file

답변2

예제를 복사하여 붙여넣은 후 다음을 수행했습니다.

sort -k2 -nr filename.txt | head -1

답변3

을 사용했습니다 sort -rn -k2 test. test여기서 은 샘플 데이터가 포함된 파일 이름입니다.

12 10.20
7 7.84
8 7.95
1 8.92
13 9.35
9 9.44
6 9.51
3 9.57
5 9.57
10 9.58
4 9.63
11 9.94
2 9.99

다음을 사용하여 줄 번호를 얻을 수 있습니다.

sort -rn -k2 test | awk '{print $2}' | grep $(head -1) -n test

산출:

12:12 10.20

관련 정보