1번을 시도해보세요:
$ less subs.srt
"subs.srt" may be a binary file. See it anyway?
<C8><F2><E0><EB><FC><FF><ED> ...
2번 시도:
$ LANG=ru_RU.CP1251 less subs.srt
����� �����, ��� ������.
��� ������� �������������! ...
해결책:
$ iconv -f cp1251 < subs.srt | less
어떻게 하면 더 쉽게 할 수 있나요?
답변1
less
터미널과 다른 인코딩으로 실행 하려면 다음을 사용하십시오.루잇(X11 유틸리티 제품군과 함께 제공됨)
LANG=ru_RU.CP1251 luit less subs.srt
인코딩을 자동으로 감지하려는 경우 텍스트 파일에는 인코딩에 대한 표시가 없기 때문에 더 까다롭습니다. 소프트웨어엔카언어에 따라 파일의 인코딩을 식별해 보세요.
$ enca -L russian subs.srt
MS-Windows code page 1251
$ iconv -f "$(enca -iL russian subs.srt)" | less
LESSOPEN
이 조합을 필터 로 사용할 수 있습니다 (참조:zless를 입력하지 않고 gzip 압축 파일을 less로 보는 방법은 무엇입니까?예를 들어). 그러나 이는 실제로 러시아어로 작성되지 않은 텍스트에 대해서는 좋은 결과를 제공하지 못할 수 있습니다.
UTF-8 및 CP1251만 사용하는 경우 파일을 전송할 때 CP1251로 대체할 수 있습니다.유효한 UTF-8이 아닙니다.— UTF-8에는 대부분의 8비트 인코딩 파일이 유효한 UTF-8이 되지 못하게 만드는 "구멍"이 있습니다. 개념 증명 필터 스크립트 ( 정확히 N 바이트를 읽어야 LESSOPEN
하므로 Linux 이외의 시스템에서는 작동하지 않을 수 있음 ):head -c N
#!/bin/sh
head=$(head -c 1000)
if printf '%s\n' "$head" | grep -qav '^.*$'; then
{ printf '%s\n' "$head"; cat; } | iconv -f CP1251
else
{ printf '%s\n' "$head"; cat; }
fi