Less
強制較少將文件顯示為文本
有時較少錯誤地將文件辨識為二進製文件並嘗試在 LHS 上顯示 hexdump(通常是具有非字母數字字元但仍包含可列印 ASCII 字元的文件)。如何強制將其辨識為文本?
我認為您已經(或您的發行版)
LESSOPEN
為less
. 嘗試以下方法告訴less
不要使用過濾器:less -L my_binary_file
如需進一步探索,也請嘗試
echo $LESSOPEN
. 它可能包含一個 shell 腳本的名稱(/usr/bin/lesspipe
對我來說),您可以通讀它以查看有哪些類型的過濾器。也嘗試man less
,並閱讀輸入預處理器部分。
對於
LESSOPEN
不是問題的情況。less
可以嘗試以下選項:
-f
或--force
:除了允許打開非正常文件外,它“還會在打開二進製文件時抑制警告消息”。-r
or--raw-control-chars
: “導致顯示原始控製字元。預設是使用插入符號顯示控製字元;例如,control-A(八進制 001)顯示為^A
。警告:使用該-r
選項時,less 無法跟踪螢幕的實際外觀(因為這取決於螢幕如何響應每種類型的控製字元)。因此,可能會導致各種顯示問題,例如長線被分割到錯誤的位置。-R
or--RAW-CONTROL-CHARS
:上述較弱的形式-r
,僅以“原始”形式輸出 ANSI“顏色”轉義序列。“與 -r 不同,在大多數情況下,螢幕外觀保持正確。” 例如,如果您正在查看使用 ANSI 顏色控制序列的日誌文件,這將非常有用。您可以通過按鍵進行試驗,
-
然後r
無需重新執行less
。您可以將這些選項添加到LESS
環境變數以使設置永久化(例如,通過修改您的 shell 配置文件);如果您的終端可以顯示顏色,我強烈建議-R
您在LESS
設置中添加。您應該確保您的終端配置為使用與文本文件相同的字元編碼。