2011-08-17 2 views
2

Mac OS X 및 Ubuntu Linux에서 sort을 사용하고 있으며 대문자/소문자 비교의 다른 처리를 관찰하고 있습니다. 이 동작을 해제하는 방법이 있나요다른 버전의 UNIX 정렬 핸들 대/소문자로 다름

$ sort <<EOF 
> Aa 
> aa 
> Ab 
> ab 
> EOF 
aa 
Aa 
ab 
Ab 

:

우분투에
$ sort <<EOF 
> Aa 
> aa 
> Ab 
> ab 
> EOF 
Aa 
Ab 
aa 
ab 

, sort (GNU coreutils) 8.5이 경우 무시하는 것 같다

맥 OS X에

, sort (GNU coreutils) 5.93 내가 기대하는 행동을 준다? 대소 문자를 구분해야합니다. LOCALEC으로 변경하려고 시도했지만 아무 것도 변경되지 않았습니다.

또는 각 줄을 바이트 문자열로 처리하는 큰 파일을 정렬하는 다른 간단한 유틸리티가 있습니까?

+0

흥미 롭습니다. Perl이나 Python에서 원하는 '정렬'을 작성하는 데 5 줄이 걸리므로, 그러한 해결책이 당신에게 받아 들여질 수 있다면 누군가가 대답으로 기여할 수 있습니다. –

+0

UNIX'sort'는 외부 정렬을 수행하기 때문에 RAM에 맞지 않는 파일을 정렬해야합니다. 나는 당신이 Perl의 5 줄에서 그것을 할 수 있다고 생각하지 않는다. –

+0

오, 그게 당신이 "큰"의미 한 것입니다. 그 때 그것을 명확하게하는 것이 좋다. –

답변

2

'export LANG = POSIX'

+0

이것은 나를 위해 (Ubuntu 10.04.3 LTS) 작동하지 않습니다. –

+1

고마워요,이 트릭을 않습니다! –

+0

당신은 환영합니다;) LANG을 POSIX로 설정하면 문자는 ASCII 인코딩됩니다. 일부 Linux 배포판에서는 루트 사용자가 LANG을 POSIX로 설정하면 일반 사용자는 .UTF-8을 사용하므로 정렬이 다릅니다. – svacko

관련 문제