음수 정렬을 사용하여 두 번째 열을 정렬한 다음 세 번째 열을 정렬합니다.

음수 정렬을 사용하여 두 번째 열을 정렬한 다음 세 번째 열을 정렬합니다.

다음 날짜가 있습니다.

random check/1 -0.02
random check/1 -0.05
random tell/1 -0.01
random tell/2 -0.02
random checking -0.00

두 번째 열을 정렬한 다음 세 번째 열을 정렬해 보았습니다. 나는 그것을 사용했다 sort -n -k2,2 -k3,3 file. 그러나 그것은 내가 찾고 있는 결과를 제공하지 않습니다.

출력은 다음과 같아야 합니다.

random check/1 -0.05
random check/1 -0.02
random checking -0.00
random tell/1 -0.01
random tell/2 -0.02

그런 다음 그것을 고유하게 만들고 싶습니다. 따라서 최종 출력은 링크여야 합니다.

random check/1 -0.05
random checking -0.00
random tell/1 -0.01
random tell/2 -0.02

기본적으로 두 번째 열, 세 번째 열, 두 번째 열 순으로 정렬하기 때문에 최악의 숫자만 보입니다.

답변1

sort -nk3,3 file | sort -uk2,2

답변2

sort -k2,2 -k3,3n | awk '$2!=s;{s=$2}'

두 번째 필드의 데이터를 정렬한 다음 세 번째 필드를 숫자순으로 정렬합니다. awk를 사용하여 두 번째 필드의 첫 번째 항목을 인쇄합니다(두 번째 필드가 저장된 값과 다른 경우 해당 줄을 인쇄한 다음 두 번째 필드를 저장합니다).

관련 정보