내 컴퓨터에 utf-8 로케일이 있고 KOI8-R로 인코딩된 파일을 검색하고 싶습니다. 그런데 KOI8-R 로캘이 설치되어 있지 않습니다. 그리고 이 로케일을 설치할 수 있는 sudo 권한이 없습니다.
이 경우 grep으로 검색이 가능한가요? 해결 방법을 만들 수 있나요? 어떻게든 이러한 인코딩된 파일을 즉시 UTF-8로 변환하시겠습니까?
추신: 나는 이 질문을 읽었습니다. grep/ack를 사용하여 임의로 인코딩된 파일을 처리하는 방법은 무엇입니까?
답변1
특정 문자를 찾고 있는 한(예: 문자 세트 또는 대소문자 구분 검색을 사용하지 않는 경우) grep이 바이트를 찾도록 할 수 있습니다. 정규식의 ASCII가 아닌 문자를 KOI8 섹션 값에서 이를 나타내는 단어로 변환합니다. R 및 C 로케일에서는 바이트를 검색하기 위해 grep( LC_ALL=C grep …
또는 그냥 )을 호출합니다.LC_CTYPE=C LC_COLLATE=C grep …
iconv -f utf-8 -t koi8-r
KOI8-R 로캘이 locale -a
.
이것fuseflt
방법또한 iconv를 사용하며 로케일을 구축할 필요가 없습니다.