점수가 가장 높은 행 나열

점수가 가장 높은 행 나열

points.txt다음 데이터 테이블을 포함하는 파일이 있습니다 .

Jim:4
Tim:8
Lin:6
Tom:1
Esko:2
Jaska:5
Erkki:7 

이제 다음 목록을 숫자 순서(가장 높은 것부터)로 만들 수 있습니까? 또는 가장 높은 점수를 받은 세 이름을 어떻게 나열할 수 있습니까? 다음을 시도했지만 작동하지 않는 것 같습니다.

sort -n -k 1,1 points.txt
sort -n points.txt
sort -n ^: points.txt

답변1

TOP 3를 찾고 계시다면

sort -k2,2rn -t: points.txt  | head -n 3 | cut -f1 -d:

-k정렬 필드를 지정하며 다음 부분은 다음과 같습니다.

2,2- 필드로 시작하고 끝나는 정렬 키2

n - 숫자 정렬

r- 역순 정렬

-t이 경우 필드 구분 기호를 지정하는 데 사용됩니다.:

관련 정보