더 적은 수의 파일을 텍스트로 표시하도록 강제

더 적은 수의 파일을 텍스트로 표시하도록 강제

때때로 less는 파일을 이진 파일로 잘못 식별하고 LHS에 16진수 덤프를 표시하려고 시도합니다(보통 영숫자가 아닌 문자를 포함하지만 여전히 인쇄 가능한 ASCII 문자를 포함함). 파일을 텍스트로 인식하도록 하려면 어떻게 해야 합니까?

답변1

나는 당신(또는 당신의 배포판)이 이미 다음을 LESSOPEN위해 필터를 사용하지 않는다고 말한 것 같습니다.lessless

less -L my_binary_file

더 자세히 알아보고 싶다면 시도해 볼 수도 있습니다 echo $LESSOPEN. /usr/bin/lesspipe여기에는 어떤 유형의 필터가 있는지 확인하기 위해 읽을 수 있는 쉘 스크립트(나의 경우)의 이름이 포함될 수 있습니다 . 또한 시도해 보세요man less, 그리고 읽어보세요입력 전처리기부분.

답변2

LESSOPEN이것이 문제가 되지 않는 상황의 경우. less다음 옵션을 시도해 볼 수 있습니다.

  1. -f또는 --force: 일반적이지 않은 파일을 열 수 있도록 허용하는 것 외에도 "바이너리 파일을 열 때 경고 메시지도 표시하지 않습니다."
  2. -r또는 --raw-control-chars: "원래 제어 문자가 표시됩니다. 기본값은 캐럿을 사용하여 제어 문자를 표시하는 것입니다. 예를 들어 control-A(8진수 001)는 로 표시됩니다 ^A. 경고: -r이 옵션을 사용하면 less는 실제 문자를 추적할 수 없습니다. 따라서 화면의 모양(각 제어 문자 유형에 화면이 어떻게 반응하는지에 따라 다름)은 긴 줄이 잘못된 위치에서 분할되는 등 다양한 표시 문제를 일으킬 수 있습니다.
  3. -R또는 : "원시" 형식으로 출력되는 ANSI "색상" 이스케이프 시퀀스만 포함하는 --RAW-CONTROL-CHARS위의 약한 형식입니다 . -r"-r과 달리 대부분의 경우 화면 모양이 올바르게 유지됩니다. 예를 들어 ANSI 색상 제어 시퀀스를 사용하는 로그 파일을 보려는 경우에 유용합니다.

키를 누른 -다음 r다시 실행하지 않고 실험해 볼 수 있습니다 less. 이러한 옵션을 LESS환경 변수에 추가하여 설정을 영구적으로 만들 수 있습니다(예: 쉘 구성 파일 수정). 터미널에서 색상을 표시할 수 있으면 해당 설정을 설정에 추가하는 것이 좋습니다 -R. LESS터미널이 텍스트 파일과 동일한 문자 인코딩을 사용하도록 구성되어 있는지 확인해야 합니다.

관련 정보