"less"로 문자셋(입력 및 출력)을 설정할 수 있나요?

"less"로 문자셋(입력 및 출력)을 설정할 수 있나요?

less출력 문자가 UTF-8임을 알 수 있습니다 .

export LESSCHARSET=UTF-8

그러나 UTF-8 형식의 파일 읽기도 시도합니다.

vim설정 에서 하는 것처럼 파일을 ISO-8859-2(latin2)로 읽지만 UTF-8로 표시하도록 지시할 수 있습니까 ?encfenc

답변1

이것은 불가능한 것 같습니다. 부분적인 해결 방법으로 iconv다음과 같은 방법으로 입력 전처리기로 사용할 수 있습니다.

  1. 예를 들어 다음과 같은 실행 가능한 스크립트를 만듭니다 less_conv.sh.
    #!/bin/sh
    iconv -f $IN_ENC -t $OUT_ENC $1
    
  2. LESSOPEN변수 정의 및 내보내기 :
    LESSOPEN="|-less_conv.sh %s" 내보내기
  3. 호출 less방법은 다음과 같습니다.
    IN_ENC=latin2 OUT_ENC=utf8 파일 적음
    원하는 값을 설정할 수도 있습니다.
    IN_ENC=latin2 내보내기
    OUT_ENC=utf8 내보내기
    더 적은 파일

|파이프 문자는 LESSOPEN임시 중간 파일의 필요성을 줄여줍니다. dash는 표준 입력을 읽을 -때 이 전처리기를 활성화합니다 .less

제한 사항:
또는 를 누르더라도 F전처리기는 한 번만 호출되므로 R파일이 커지거나 표준 입력을 "스트리밍"하는 경우 이 해결 방법을 사용할 수 없습니다.

관련 정보