So zeigen Sie Zeilennummern in 'less' (GNU) an

659

Was ist der Befehl, um weniger Zeilennummern in der linken Spalte anzuzeigen?

Alex. S.
quelle
80
lessist ein Linux-Befehlszeilenprogramm und wird sehr häufig von Programmierern zum Anzeigen von Textdateien verwendet. Diese Frage ist für den Stapelüberlauf im Bereich "Von Programmierern verwendete Tools" genau gitthematisch, ebenso wie alle Fragen zur Verwendung themenbezogen sind. Es ist auch der erste Treffer in Google bei der Suche nach "weniger Show-Zeilennummern". Diese Frage sollte nicht geschlossen werden.
John Dibling
5
@ JohnDibling Die Frage ist besser für Unix & Linux Stack Exchange geeignet . Nur weil lesses von Programmierern verwendet wird, kommt es nicht zum Thema. Bleistifte sind auch "Werkzeuge, die von Programmierern verwendet werden", aber eine Frage zum Schärfen eines Bleistifts wäre hier nicht angebracht.
August
17
@augurar Ich glaube , Sie SIE wissen , dass Werkzeuge bedeutet hier Software - Tools . Sie interpretieren die Bedeutung von Werkzeugen bewusst aus dem Kontext heraus. Übrigens denke ich auch, dass diese Frage für Unix & Linux Stack Exchange geeignet ist, aber es hindert diese Frage nicht daran, hier auf SO zu sein :)
Gab 是 好人

Antworten:

976

Aus dem Handbuch :

-N oder --LINE-NUMBERS Bewirkt, dass am Anfang jeder Zeile in der Anzeige eine Zeilennummer angezeigt wird.

Sie können Zeilennummern auch umschalten, ohne weniger zu beenden, indem Sie eingeben -N.

Auf diese Weise können Sie die Befehlszeilenoptionen von less umschalten.

dirkgently
quelle
6
Wenn ich eine große Datei weniger als "G" unten habe, heißt es "Zeilennummern berechnen ... (Interrupt zum Abbrechen)", obwohl keine Zeilennummern angezeigt werden. Ich möchte wissen, wie ich herausfinden kann, auf welcher Leitung ich mich befinde, ohne mit -N zu beenden und neu zu starten. Ich leide unter der Strafe. Wo ist die Belohnung?
Bruno Bronosky
93
Wow, ich habe weniger Dutzende Male auf die Hilfe geschaut und gehofft, die Antwort darauf zu finden. Ich habe immer übersehen - "- <flag> Befehlszeilenoption umschalten [siehe OPTIONEN unten]." ... was bedeutet, dass Sie "-N" innerhalb von weniger eingeben können. Das ärgert mich seit etwa einem Jahrzehnt. Gute Zeiten!
Bruno Bronosky
2
Ist es möglich, die Zeilennummern in einer anderen Farbe anzuzeigen?
Greg
3
Hallo @greg Sie können verwenden sed, um die Zeilennummern und Option zu färben -R, lessum Farben anzeigen zu lassen : cat -n file.txt | sed 's/^[ 0-9]*[0-9]/\o033[34m&\o033[0m/' | less -R Sie können auch anpassen LESSOPEN... Prost;)
olibre
1
Drücken Sie ENTER / RETURN, wenn Sie versuchen, umzuschalten. Nachdem Sie -n oder -N eingegeben haben, während Sie weniger verwenden, müssen Sie möglicherweise auch danach drücken, um die Änderungen zu übernehmen. Es steht sogar unten so, aber mein Gehirn hat die Punkte nicht verbunden, weil ich davon ausgegangen bin, dass es sofort geschehen würde, und ich habe weiter -N eingegeben und mich gefragt, warum die Zahlen nie aufgetaucht sind.
Abelito
146

Sie können auch drücken, =während lesses geöffnet ist, um nur (am unteren Bildschirmrand) Informationen zum aktuellen Bildschirm anzuzeigen, einschließlich Zeilennummern, mit folgendem Format:

myfile.txt lines 20530-20585/1816468 byte 1098945/116097872 1%  (press RETURN)

Hier wurden beispielsweise auf dem Bildschirm derzeit Zeilen angezeigt 20530-20585, und die Dateien enthalten insgesamt 1816468Zeilen.

Daniel Hershcovich
quelle
44

Sie können die Datei cat -nvor dem Weiterleiten an Folgendes filtern less:

cat -n file.txt | less

Oder, wenn Ihre Version dies lessunterstützt, die -NOption:

less -N file.txt
Greg Hewgill
quelle
4
Welche Version (en) von weniger wissen Sie, dass dies nicht unterstützt wird?
Aaron Hall
Ich benutze normalerweise nl anstelle von cat -n
ychaouche
32

Sie können eine Umgebungsvariable so einstellen, dass diese Optionen immer für alle weniger vorhandenen Dateien gelten:

export LESS='-RS#3NM~g'
Sgargan
quelle
2
Line alias less="LESS='-RS#3NM~g' less"in .bashrchat meinen Tag gemacht! Vielen Dank!
Jury
4
Eine Erklärung dieser Beschwörung wäre sehr willkommen :)
minexew
3
Folgende Optionen stehen zur Verfügung: R = bessere Handhabung von Rohfarbcodes in Dateien. S = Scrollen Sie lange Zeilen vom Bildschirm anstatt in Zeilenumbruch. # 3 = nach rechts / links um 3 Positionen gleichzeitig scrollen. N = Zeilennummern anzeigen. M = Längere Eingabeaufforderungen. ~ = Anstatt Leerzeichen anzuzeigen, nachdem eine Datei mit ~ endet, wird nichts für Leerzeichen angezeigt. g = Wenn Sie eine Suche mit 'g' durchführen, markieren Sie nur die aktuelle Übereinstimmung anstelle aller Übereinstimmungen.
Bryan
17

Die Befehlszeile kennzeichnet -Noder --LINE-NUMBERSbewirkt, dass am Anfang jeder Zeile in der Anzeige eine Zeilennummer angezeigt wird.

Sie können die Zeilennummern auch umschalten, ohne sie lessdurch Eingabe zu beenden -N<return>. Auf lessdiese Weise können Sie die Befehlszeilenoptionen umschalten.

Matthew Jaskula
quelle
1
Wenn Sie -N oder --LINE-NUMBERS übergeben, wird in CentOS 5.3 nur das Datum für mich angezeigt. Die Verwendung von -N nach dem Start funktioniert jedoch einwandfrei.
Mike Miller
15

Wenn Sie drücken =und erwarten, dass Zeilennummern angezeigt werden, aber nur die Anzahl der Bytes, werden die Zeilennummern deaktiviert. Drücken Sie -n, um sie einzuschalten, und stellen Sie sicher, dass $LESS'n' nicht enthalten ist.

Das standardmäßige Deaktivieren von Zeilennummern (z. B. Einstellen LESS=n) beschleunigt die Suche in sehr großen Dateien. Es ist praktisch, wenn Sie häufig große Dateien durchsuchen, sich aber normalerweise nicht darum kümmern, in welcher Zeile Sie sich befinden.

Ich laufe normalerweise mit LESS=RSXin(Escape-Codes aktiviert, lange Zeilen gehackt, Bildschirm beim Beenden nicht gelöscht, Groß- und Kleinschreibung bei allen Suchvorgängen in Kleinbuchstaben ignorieren und standardmäßig keine Zeilennummer zählen) und verwende -noder -Svon innen nur lessnach Bedarf.

Rob Flickenger
quelle