A volte meno erroneamente riconosce il file come binario e cerca di mostrare hexdump su LHS (di solito quelli con caratteri non alfanumerici ma contenenti ancora caratteri ASCII stampabili). Come forzarlo a riconoscerlo come testo?
A volte meno erroneamente riconosce il file come binario e cerca di mostrare hexdump su LHS (di solito quelli con caratteri non alfanumerici ma contenenti ancora caratteri ASCII stampabili). Come forzarlo a riconoscerlo come testo?
Risposte:
Penso che tu abbia (o la tua distribuzione abbia) un LESSOPEN
filtro impostato per less
. Prova quanto segue per dire less
di non usare il filtro:
less -L my_binary_file
Per ulteriori esplorazioni, prova anche echo $LESSOPEN
. Probabilmente contiene il nome di uno script di shell ( /usr/bin/lesspipe
per me), che puoi leggere per vedere che tipo di filtri ci sono. Prova anche a man less
leggere la sezione Preprocessore di input .
Per il caso di LESSOPEN
non essere il problema. È less
possibile provare le seguenti opzioni:
-f
oppure --force
: Oltre a consentire l'apertura di file non regolari, "sopprime anche il messaggio di avviso quando viene aperto un file binario".-r
oppure --raw-control-chars
: "Fa sì che vengano visualizzati i caratteri di controllo non elaborati. L'impostazione predefinita è di visualizzare i caratteri di controllo usando la notazione caret; ad esempio, un controllo-A (ottale 001) viene visualizzato come ^A
. Avviso: quando -r
viene utilizzata l' opzione, less non può tenere traccia dell'aspetto reale dello schermo (poiché ciò dipende dal modo in cui lo schermo risponde a ciascun tipo di carattere di controllo). Pertanto, possono verificarsi vari problemi di visualizzazione, come le lunghe righe che vengono divise nel posto sbagliato.-R
oppure --RAW-CONTROL-CHARS
: forma più debole di cui -r
sopra, solo le sequenze di escape "color" ANSI vengono emesse in forma "raw". "A differenza di -r, l'aspetto dello schermo viene mantenuto correttamente nella maggior parte dei casi." Ciò è utile se ad esempio si sta visualizzando un file di registro che utilizza sequenze di controllo del colore ANSI.Puoi sperimentare premendo i tasti -seguiti da rsenza eseguire nuovamente less
. È possibile aggiungere queste opzioni alla LESS
variabile d'ambiente per rendere permanente l'impostazione (ad es. Modificando il file del profilo della shell); se il tuo terminale può mostrare i colori ti consiglio vivamente di aggiungere le -R
tue LESS
impostazioni. È necessario assicurarsi che il terminale sia configurato per utilizzare la stessa codifica dei caratteri del file di testo.
cat somefile
mostra come ASCII, maless somefile
dice che può essere binario e viene visualizzato come tale.echo $LESSOPEN
è vuoto eless -L
non aiuta.