Ich möchte wissen, wie Sie Sonderzeichen anzeigen, während Sie den Befehl 'less' verwenden. Zum Beispiel möchte ich die nicht druckbaren Zeichen mit einer speziellen Notation sehen. Im "vi" -Editor verwende ich beispielsweise "set list on", um die Zeilenabschlusszeichen zu sehen, die durch das Dollarzeichen $ dargestellt werden. In ähnlicher Weise möchte ich dies mit dem Befehl "Weniger" tun.
Ich habe Unix weniger manuell verwiesen, aber ohne Erfolg.
less wird in seiner Umgebung nach einer Variable mit dem Namen LESS suchen
Sie können LESS in einem Ihrer ~/.profile einstellen (.bash_rc usw.) und jedes Mal, wenn Sie less
von der Befehlszeile aus ausführen, wird LESS gefunden.
Versuchen Sie, dies hinzuzufügen
export LESS="-CQaix4"
Dies ist das Setup, das ich verwende. Es gibt einige eingebettete Verhaltensweisen, die Sie verwirren können, also ...
Was dies alles bedeutet, erfahren Sie in der Hilfefunktion in less
. Tippen Sie einfach auf die H-Taste und die Nase, oder führen Sie weniger --help aus.
bearbeiten
Ich habe mir die Hilfe angesehen und festgestellt, dass es auch eine Option -r gibt
-r -R .... --raw-control-chars --RAW-CONTROL-CHARS
Output "raw" control characters.
Ich bin damit einverstanden, dass die Katze am genauesten Ihren angegebenen Bedürfnissen entspricht.
cat -vet file | less
Fügt am Ende jeder Zeile '$' ein und konvertiert tab char in visual '^ I'.
cat --help
(edited)
-e equivalent to -vE
-E, --show-ends display $ at end of each line
-t equivalent to -vT
-T, --show-tabs display TAB characters as ^I
-v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
Ich hoffe das hilft.
Sie können das mit cat tun und damit die Ausgabe auf weniger reduzieren:
cat -e yourFile | less
Dieser Auszug aus man cat
erklärt, was -e
bedeutet:
-e equivalent to -vE
-E, --show-ends
display $ at end of each line
-v, --show-nonprinting
use ^ and M- notation, except for LFD and TAB
Für less
verwenden Sie -u
, um Wagenrücklauf (^M
) und Rückbereiche (^H
) anzuzeigen, oder -U
, um die vorherigen und Registerkarten (^I
) anzuzeigen. Beispiel:
$ awk 'BEGIN{print "foo\bbar\tbaz\r\n"}' | less -U
foo^Hbar^Ibaz^M
(END)
Ohne -U
wäre die Ausgabe:
fobar baz
(END)
Siehe man less
für eine genauere Beschreibung der Funktionen.
Im gleichen Sinne wie https://stackoverflow.com/a/6943976/7154924 :
cat -A
-A, --show-all
equivalent to -vET
-v, --show-nonprinting
use ^ and M- notation, except for LFD and TAB
-E, --show-ends
display $ at end of each line
-T, --show-tabs
display TAB characters as ^I
Alternativ oder gleichzeitig können Sie an tr
weiterleiten, um beliebige Zeichen für die Anzeige durch die gewünschten Zeichen zu ersetzen, bevor Sie an einen Pager wie less
weiterleiten.
Alle Sonderzeichen, die nicht gedruckt werden können, werden in weniger als ^ dargestellt. Der Zeilenvorschub ist jedoch tatsächlich druckbar (erstellen Sie einfach eine neue Zeile) und werden daher nicht als speziell betrachtet. Daher haben Sie Probleme beim Ersetzen. Wenn Sie nur die Zeilenenden sehen möchten, ist dies möglicherweise der einfachste Weg
sed -e 's/$/$/' | less