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 LESSOPENfiltro impostato per less. Prova quanto segue per dire lessdi 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/lesspipeper me), che puoi leggere per vedere che tipo di filtri ci sono. Prova anche a man lessleggere la sezione Preprocessore di input .
Per il caso di LESSOPENnon essere il problema. È lesspossibile provare le seguenti opzioni:
-foppure --force: Oltre a consentire l'apertura di file non regolari, "sopprime anche il messaggio di avviso quando viene aperto un file binario".-roppure --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 -rviene 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.-Roppure --RAW-CONTROL-CHARS: forma più debole di cui -rsopra, 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 LESSvariabile 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 -Rtue LESSimpostazioni. È necessario assicurarsi che il terminale sia configurato per utilizzare la stessa codifica dei caratteri del file di testo.
cat somefilemostra come ASCII, maless somefiledice che può essere binario e viene visualizzato come tale.echo $LESSOPENè vuoto eless -Lnon aiuta.