![사용자 정의 데이터 정렬 목록과 함께 유닉스 명령 "sort"를 사용하는 방법은 무엇입니까?](https://linux55.com/image/200471/%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A0%95%EC%9D%98%20%EB%8D%B0%EC%9D%B4%ED%84%B0%20%EC%A0%95%EB%A0%AC%20%EB%AA%A9%EB%A1%9D%EA%B3%BC%20%ED%95%A8%EA%BB%98%20%EC%9C%A0%EB%8B%89%EC%8A%A4%20%EB%AA%85%EB%A0%B9%20%22sort%22%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
배경:
GB2312, GB18030-2005, GBK, Big5, CNS-11643의 중국어 표의 문자 정렬/인코딩 순서는 다르며 유니코드(UTF-8 포함)의 정렬 방법과도 다릅니다.
macOS 12부터
sort
macOS에 포함된 명령은 올바르게 지정되었더라도 GB18030/CNS-11643/Big5의 인코딩 시퀀스를 고려하지 않습니다.LC_COLLATE=zh_CN.GB18030 (or zh_TW.Big5, etc.)
최소 작업 예: macOS Automator 애플리케이션에 이 셸 명령을 추가하고 콘텐츠를 다음으로 보냅니다 stdin
.
iconv -t gb18030 | LC_COLLATE=zh_CN.GB18030 sort -uf | iconv -f gb18030
(macOS 시스템 환경설정을 통해 이 Automator 서비스에 단축키를 바인딩할 수 있습니다.)
그런 다음 BBEdit, TextEdit 또는 CotEdit에서 텍스트 문서를 만들고 macOS "서비스"를 지원하는 한 원하는 응용 프로그램을 만들고 다음 콘텐츠를 복사하세요.
一
䴘
그런 다음 이 두 줄을 선택하고 위에서 만든 서비스를 실행합니다.
예상되는 결과: GB18030의 규정에 따르면 "一"은 "䴘"보다 상위에 위치합니다.
실제 결과: 잘못된 데이터 오류입니다.
이 기능 개선 요청을 Apple에 보내겠지만, 이 피드백이 받아들여지고 처리될지는 누구도 보장할 수 없습니다. 또한 명령이 sort
예상대로 작동 하도록 정렬된 목록을 사용자 정의할 수 있는 방법이 있습니까 ?