\\\\ 1
\\ 2
\ 3
\\\\\\ 4
\\\\\\\ 5
위처럼 생긴 파일을 리눅스 sort를 사용해서 정렬을 하면
\\\\\\\ 5
\\\\\\ 4
\\\\ 1
\\ 2
\ 3
처럼 정렬이 된다.
내가 기대한것은
\ 3
\\ 2
\\\\ 1
\\\\\\ 4
\\\\\\\ 5 이다.
그러면 -r 옵션으로 역순으로 정렬하면 될까?
물론 이 경우에는 그렇게 하면 되겠지만
\\\네이버 7
\\\다음 6
위처럼 두라인이 추가되면 의도했던 것과는 다른 결과가 나온다
\\\\\\\ 5
\\\\\\ 4
\\\\ 1
\\\네이버 7
\\\다음 6
\\ 2
\ 3
위 결과를 reverse sort를 해도 결과의 역순일뿐...
그러면 이런 경우 LC_ALL=C를 설정하고 하면 다음과 같이 정렬된다.
\ 3
\\ 2
\\\\ 1
\\\\\\ 4
\\\\\\\ 5
\\\네이버 7
\\\다음 6
기대했던 결과이다.
그러면 LC_ALL이란 무엇인가
아래 URL을 참고
요약하면 언어가 다양한 만큼 각 언어에 맞는 환경을 설정할수 있는데
LANG=ko_KR.eucKR LC_CTYPE="ko_KR.eucKR" LC_NUMERIC="ko_KR.eucKR" LC_TIME="ko_KR.eucKR" LC_COLLATE="ko_KR.eucKR" LC_MONETARY="ko_KR.eucKR" LC_MESSAGES="ko_KR.eucKR" LC_ALL=
것들이 있다.
일일이 설정하기 어려우므로 LC_ALL로 한번에 동일하게 설정할수 있다.
glibc 기본 locale( POSIX ) 로 설정하고자 할때 LC_ALL=C 로 설정을 한다.
'C언어' 카테고리의 다른 글
C언어 고급기능 (0) | 2014.02.20 |
---|---|
GNU LIB 관련 링크 (0) | 2014.01.28 |
숫자에 3자리마다 콤마 찍기 (0) | 2013.09.13 |
프로그래밍 관련 사이트 (0) | 2013.09.10 |
로컬 프로그램 멀티 쓰레드 (0) | 2013.08.08 |