정렬하려면 다음 입력을 고려하십시오.
cat > foo <<EOM
D,,5014978
DD,,25
D,I,1972765530
D,Y,4223624
-,Y,71285059
YA,I,2
EOM
이제 달려 봐 sort foo
내 리눅스 상자 (gnu coreutils 버전 6.9-7.4)에서 이것을 시도 할 때 출력이 정렬되지 않습니다. cygwin (gnu coretuils 8.5)에서 실행될 때 출력이 정렬됩니다. 코멘트?
답변
정렬은 로캘에 따라 다릅니다. 특히, $LC_COLLATE
(에 의해 재정의 될 수 있음 $LC_ALL
) 에 따라 $LANG
존재하지 않는 경우로 돌아갑니다 . 이 명령 locale
은 효과적으로 작업하고있는 값을 보여줍니다. 참조 man 3 strcoll
, man 3 setlocale
등
LC_COLLATE=C
(또는 POSIX
전혀 로케일이 없으면) 바이트 단위로 엄격한 비교가 이루어집니다.
LC_COLLATE=en_US.utf8
구두점은 무시되고 동일한 동등성 클래스 내의 문자는 동일하게 처리됩니다.