열을 기준으로 정렬

열을 기준으로 정렬
10 awhdk;
14 hjoeow;
2  kdkld;
4  jkjdksl

첫 번째 열(즉 개수)을 기준으로 이를 정렬하는 방법은 무엇입니까?

나는 다음과 같은 결과를 얻고 싶습니다.

14 hjoeow;10 awhdk;4 jkjdksl;2 kdkld

첫 번째 열을 정렬하여 인쇄하려면 두 열이 모두 필요합니다.

답변1

-k입력 줄에서 정렬 키가 시작하고 끝나는 위치를 지정하는 데 사용할 수 있습니다 .

기본적으로 어휘 정렬이 아닌 숫자 정렬을 트리거하려면 옵션 을 사용 -n하거나 정렬 키 사양에 추가하세요 . n그리고 -r정렬을 반대로 합니다.

여기서 숫자 정렬의 경우 정렬 키를 정렬 명령으로 제한할 필요가 없습니다. 그렇게 하는 경우:

sort -rn file

전체 줄을 숫자로 처리합니다. 예를 들어 선 14 hjoeow;은 숫자로 이해됩니다 14.

당신은 할 수 있습니다 :

sort -bk 1,1rn file

첫 번째 필드에서만 정렬하지만 아무런 차이가 없습니다.

줄을 연결하는 명령은 옵션 paste과 함께 제공됩니다 -s. 로 구분자를 지정할 수 있습니다 -d. \0 다음을 의미하는 구분 기호의 특수 값입니다.아무 것도 없이 참여하세요. 따라서 예상되는 결과를 얻으려면 다음을 수행하십시오.

sort -rn file | paste -sd '\0' -

POSIX에서는 paste파일 이름이 전달되어야 합니다. -다시 한번 의미하는 특별한 값입니다.표준 입력. 일부 구현에서는 이를 생략할 수 있습니다 paste.

관련 정보