열을 기준으로 정렬

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

첫 번째 열(예: 개수)을 기준으로 정렬하려면 어떻게 해야 하나요?

나는 다음과 같은 출력을 얻고 싶습니다.

14 hjoeow;10 awhdk;4 jkjdksl;2 kdkld

첫 번째 열의 순서에 따라 두 개의 열을 인쇄해야 합니다.

답변1

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

-n옵션을 사용하거나 n정렬 키 사양에 추가하여 기본 어휘 정렬 대신 숫자 정렬을 트리거할 수 있습니다. 그리고 -r정렬을 반대로 하면 됩니다.

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

sort -rn file

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

다음을 수행할 수 있습니다.

sort -bk 1,1rn file

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

연결 라인 명령에는 옵션이 paste사용됩니다 -s. 지정된 구분 기호를 사용할 수 있습니다 -d. \0 구분 기호의 특수 값입니다.중간조건 없이 가입. 따라서 예상되는 출력을 얻으려면 다음을 수행하십시오.

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

POSIX에서는 paste파일 이름을 전달해야 합니다. -또 다른 특별한 값, 즉표준 입력. paste일부 구현에서는 생략 할 수 있습니다 .

관련 정보