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
일부 구현에서는 생략 할 수 있습니다 .