이 파일을 정렬하려고 합니다.
1000000911M
1G
2G
1.5G
100M
그러나 이것을 사용하면 다음과 같은 sort -h file
결과를 얻을 수 있습니다.
100M
1000000911M
1G
1.5G
2G
정렬에 문제가 없나요? 그렇다면 M,G를 명시적으로 확장하지 않고 어떻게 이를 방지할 수 있습니까?
답변1
이는 매뉴얼 페이지에 문서화되어 있습니다 sort
.
-h, --human-numeric-sort, --sort=human-numeric
Sort by numerical value, but take into account the SI suffix, if present.
Sort first by numeric sign (negative, zero, or positive); then by SI
suffix (either empty, or `k' or `K', or one of `MGTPEZY', in that order);
and finally by numeric value. The SI suffix must immediately follow the
number. For example, '12345K' sorts before '1M', because M is "larger"
than K. This sort option is useful for sorting the output of a single
invocation of 'df' command with -h or -H options (human-readable).
관련 부분은 네 번째 문장입니다.
For example, '12345K' sorts before '1M', because M is "larger" than K.
이것은 당신의 1000000911M
선과 1G
그 뒤에 있는 선 2G
사이에서 관찰되는 것 입니다.
일반적으로 이러한 접미사가 포함된 출력을 생성하는 소프트웨어는 많은 유효 숫자를 출력하는 대신 접미사를 전환합니다.