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


14

Іноді менш помилково розпізнає файл як двійковий і намагається показати шістнадцятковий на LHS (як правило, ті, що мають не буквено-цифрові символи, але все ще містять символи для друку ASCII). Як змусити його розпізнати його як текст?


Шукаєте іншу відповідь. У мене є файл журналу, який cat somefileвідображається як ASCII, але less somefileговорить, що він може бути бінарним і відображається як такий echo $LESSOPENпорожній і less -Lне допомагає.
Натан Лонг

2
@NathanLong Це, мабуть, було б прийнятним для відкриття нового питання, оскільки рішення тут не вирішує вашу проблему (просто зауважте це). Однак, коли ви говорите "може бути двійковим і відображається як такий", ви говорите про те, що він відображає шістнадцяткове представлення даних, або ви бачите необроблені бінарні дані (як усі дивні символи та подібні)?
Патрік

Що таке ЛГС? Він для мене новий.
dfc

Відповіді:


19

Я думаю, у вас є (або у вашому розпорядженні) LESSOPENфільтр less. Спробуйте сказати наступне, lessщоб не використовувати фільтр:

less -L my_binary_file

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


4

Для випадку, коли це LESSOPENне проблема. lessМожна спробувати наступні варіанти:

  1. -fабо --force: Крім того, що дозволяє відкривати нерегулярні файли, воно також "пригнічує попереджувальне повідомлення, коли відкривається бінарний файл".
  2. -rабо --raw-control-chars: "Викликає відображення необроблених символів керування. За замовчуванням відображаються контрольні символи, використовуючи позначення карети; наприклад, контрольний знак A (вісімковий 001) відображається як ^A. Попередження: коли використовується -rпараметр, менше не можна відслідковувати фактичного вигляду екрана (оскільки це залежить від того, як екран реагує на кожен тип керуючих символів). Таким чином, можуть виникати різні проблеми з відображенням, такі як довгі рядки розбиті в неправильному місці.
  3. -Rабо --RAW-CONTROL-CHARS: Слабша форма -rвище, лише "кольорові" послідовності введення ANSI виводяться у "сировинній" формі. "На відміну від -r, зовнішній вигляд екрана підтримується правильно у більшості випадків." Це корисно, якщо ви, наприклад, переглядаєте файл журналу, який використовує послідовності контролю кольорів ANSI.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.