Czasami mniej błędnie rozpoznaje plik jako binarny i próbuje pokazać zrzut heksadecymalny na LHS (zwykle te ze znakami niealfanumerycznymi, ale wciąż zawierające drukowalne znaki ASCII). Jak zmusić go do rozpoznania go jako tekstu?
Czasami mniej błędnie rozpoznaje plik jako binarny i próbuje pokazać zrzut heksadecymalny na LHS (zwykle te ze znakami niealfanumerycznymi, ale wciąż zawierające drukowalne znaki ASCII). Jak zmusić go do rozpoznania go jako tekstu?
Odpowiedzi:
Myślę, że masz (lub twoją dystrybucję) LESSOPEN
skonfigurowany filtr less
. Spróbuj wykonać następujące czynności, less
aby nie używać filtra:
less -L my_binary_file
W celu dalszej eksploracji spróbuj także echo $LESSOPEN
. Prawdopodobnie zawiera nazwę skryptu powłoki ( /usr/bin/lesspipe
dla mnie), którą możesz przeczytać, aby zobaczyć, jakie są filtry. Spróbuj także man less
i przeczytaj sekcję Preprocesor wejściowy .
W przypadku, gdy LESSOPEN
nie jest to problemem. less
Można wypróbować następujące opcje:
-f
lub --force
: Oprócz zezwalania na otwieranie plików nieregularnych, „pomija także komunikat ostrzegawczy, gdy plik binarny jest otwierany”.-r
lub --raw-control-chars
: „Powoduje wyświetlenie nieprzetworzonych znaków kontrolnych. Domyślnie znaki sterujące są wyświetlane za pomocą notacji daszka; na przykład formant A (ósemkowy 001) jest wyświetlany jako ^A
. Ostrzeżenie: gdy -r
używana jest opcja, less nie może śledzić rzeczywistego wyglądu ekranu (ponieważ zależy to od tego, jak ekran reaguje na każdy typ znaku kontrolnego). W ten sposób mogą wystąpić różne problemy z wyświetlaniem, takie jak długie linie w niewłaściwym miejscu.-R
lub --RAW-CONTROL-CHARS
: słabsza forma -r
powyżej, tylko sekwencje specjalne „kolorowe” ANSI są generowane w postaci „surowej”. „W przeciwieństwie do opcji -r, w większości przypadków wygląd ekranu jest prawidłowo zachowany”. Jest to przydatne, jeśli na przykład przeglądasz plik dziennika wykorzystujący sekwencje kontroli kolorów ANSI.Możesz eksperymentować, naciskając klawisze, -a następnie rbez ponownego uruchamiania less
. Możesz dodać te opcje do LESS
zmiennej środowiskowej, aby ustawić to na stałe (np. Modyfikując plik profilu powłoki); jeśli twój terminal może wyświetlać kolory, bardzo polecam dodanie -R
w swoim LESS
ustawieniu. Należy upewnić się, że terminal jest skonfigurowany do korzystania z tego samego kodowania znaków, co plik tekstowy.
cat somefile
pokazuje się jako ASCII, aleless somefile
mówi , że może być binarny i wyświetla się jako taki.echo $LESSOPEN
jest pusty iless -L
nie pomaga.