Принудительно меньше отображать файл как текст

14

Иногда менее неправильно распознает файл как двоичный файл и пытается показать hexdump на LHS (обычно с не алфавитно-цифровыми символами, но все еще содержащие печатные символы ASCII). Как заставить его распознавать его как текст?

Мацей Печотка
источник
Ищете другой ответ. У меня есть файл журнала, который cat somefileотображается как ASCII, но less somefileговорит, что может быть двоичным и отображается как таковой. echo $LESSOPENпусто и less -Lне помогает
Натан Лонг
2
@NathanLong Вероятно, было бы приемлемо открыть новый вопрос, так как решение здесь не решает вашу проблему (просто обязательно отметьте это). Однако когда вы говорите «может быть двоичным и отображается как таковой», вы говорите, что он отображает шестнадцатеричное представление данных, или вы видите необработанные двоичные данные (как все странные символы и тому подобное)?
Патрик
Что такое LHS? Это ново для меня.
dfc
1
@dfc левая сторона .
Мацей Пехотка

Ответы:

19

Я думаю, что у вас (или в вашем дистрибутиве) установлен LESSOPENфильтр less. Попробуйте сказать следующее, чтобы lessне использовать фильтр:

less -L my_binary_file

Для дальнейшего изучения также попробуйте echo $LESSOPEN. Вероятно, он содержит имя сценария оболочки ( /usr/bin/lesspipeдля меня), который вы можете прочитать, чтобы увидеть, какие существуют фильтры. Также попробуйте man lessи прочитайте раздел Input Preprocessor .

Jander
источник
4

Для случая, когда LESSOPENне проблема. lessМожно попробовать следующие варианты:

  1. -fили --force: Помимо разрешения открытия нерегулярных файлов, он «также подавляет предупреждение при открытии двоичного файла».
  2. -rили --raw-control-chars: «Приводит к отображению необработанных управляющих символов. По умолчанию отображаются управляющие символы с использованием обозначения каретки; например, элемент управления A (восьмеричное 001) отображается как ^A. Предупреждение: при использовании этой -rопции меньше не может отслеживать фактического внешнего вида экрана (поскольку это зависит от того, как экран реагирует на каждый тип управляющего символа). Таким образом, могут возникнуть различные проблемы с отображением, такие как длинные строки, разделенные в неправильном месте.
  3. -Rили --RAW-CONTROL-CHARS: Более слабая форма -rвыше, только «цветные» escape-последовательности ANSI выводятся в «сыром» виде. «В отличие от -r, внешний вид экрана поддерживается в большинстве случаев правильно». Это полезно, например, если вы просматриваете файл журнала, в котором используются последовательности управления цветом ANSI.

Вы можете экспериментировать, нажимая клавиши с -последующим rбез повторного запуска less. Вы можете добавить эти параметры в LESSпеременную среды, чтобы сделать настройку постоянной (например, изменив файл профиля оболочки); если ваш терминал может отображать цвета, я настоятельно рекомендую добавить -Rв LESSнастройках. Вы должны убедиться, что ваш терминал настроен на использование той же кодировки символов, что и ваш текстовый файл.

FOOF
источник