Come visualizzare i numeri di riga in 'less' (GNU)


660

Qual è il comando per rendere meno numeri di riga di visualizzazione nella colonna di sinistra?


80
lessè un'utilità della riga di comando di Linux ed è molto comunemente usata dai programmatori per visualizzare i file di testo. Questa domanda è solidamente in argomento per Stack Overflow sotto il dominio di "strumenti utilizzati dai programmatori" proprio come tutte le domande relative all'utilizzo gitsono in argomento. È anche il primo successo in Google quando si cerca "meno numeri di riga dello spettacolo". Questa domanda non dovrebbe essere chiusa.
John Dibling,

5
@JohnDibling La domanda è più appropriata per Unix & Linux Stack Exchange . Solo perché lessviene utilizzato dai programmatori non lo fa sull'argomento. Anche le matite sono "strumenti usati dai programmatori" ma una domanda su come affilare una matita non sarebbe appropriata qui.
agosto

17
@augurar Penso che SI sa che gli strumenti qui significa strumenti software . Stai deliberatamente interpretando il significato degli strumenti fuori dal contesto. A proposito, penso anche che questa domanda sia appropriata per Unix e Linux Stack Exchange, ma non impedisce che questa domanda sia qui su SO :)
Gab 是 好人

Risposte:


979

Dal manuale :

-N o --LINE-NUMERI Fa sì che un numero di riga venga visualizzato all'inizio di ogni riga del display.

Puoi anche alternare i numeri di riga senza uscire di meno digitando -N.

In questo modo è possibile attivare o disattivare le opzioni della riga di comando di less.


6
Quando ho meno un file enorme poi "G" in fondo, dice "Calcolo dei numeri di riga ... (interrompi per interrompere)" anche se non sta visualizzando i numeri di riga. Mi piacerebbe sapere come mi trovo sulla linea senza uscire e riavviare con -N. Sto subendo la penalità. Dov'è la ricompensa?
Bruno Bronosky,

93
wow, ho cercato l'aiuto per meno di una dozzina di volte sperando di trovare la risposta a questo. Ho sempre trascurato "- <flag> Attiva / Disattiva un'opzione della riga di comando [vedi OPZIONI di seguito]." ... il che significa che puoi digitare "-N" da meno. Ne sono stato infastidito per circa un decennio. Bei tempi!
Bruno Bronosky,

2
è possibile visualizzare i numeri di riga con un colore diverso?
Greg

3
Ciao @greg Puoi usare sedper colorare i numeri di riga e l'opzione -Rper lasciare che i lesscolori di visualizzazione: cat -n file.txt | sed 's/^[ 0-9]*[0-9]/\o033[34m&\o033[0m/' | less -R Puoi anche personalizzare LESSOPEN... Cin cin;)
olibre

1
Premi INVIO / INVIO se stai tentando di attivare / disattivare. Dopo aver digitato -n o -N mentre si utilizza less, potrebbe anche essere necessario premerlo successivamente per rendere effettive le modifiche. Lo dice anche in fondo, ma il mio cervello non ha collegato i punti perché ho pensato che fosse istantaneo e ho continuato a digitare -N e mi chiedevo perché i numeri non fossero mai comparsi.
abelito,

146

Puoi anche premere =mentre lessè aperto per visualizzare (nella parte inferiore dello schermo) le informazioni sulla schermata corrente, inclusi i numeri di riga, con il formato:

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

Quindi qui, ad esempio, lo schermo mostrava attualmente linee 20530-20585e il file ha un totale di 1816468linee.


44

È possibile filtrare il file cat -nprima di eseguire il piping a less:

cat -n file.txt | less

Oppure, se la tua versione lesslo supporta, l' -Nopzione:

less -N file.txt

4
Quali versioni di meno conosci che non le supportano?
Aaron Hall

Di solito uso nl invece di cat -n
ychaouche

32

È possibile impostare una variabile di ambiente in modo che queste opzioni si applichino sempre a tutti i file meno significativi:

export LESS='-RS#3NM~g'

2
La line alias less="LESS='-RS#3NM~g' less"in ha .bashrcfatto la mia giornata! Grazie!
Giuria

4
Una spiegazione di questo incantesimo sarebbe molto gradita :)
minexew,

3
Le opzioni sono: R = migliore gestione dei codici colore grezzo nei file. S = Scorre le linee lunghe fuori dallo schermo invece che a capo automatico. # 3 = scorri verso destra / sinistra di 3 posizioni alla volta. N = mostra i numeri di riga. M = prompt più lunghi. ~ = Invece di visualizzare uno spazio vuoto dopo che un file termina con ~, non visualizzare nulla per lo spazio vuoto. g = quando si esegue una ricerca con 'g', evidenziare solo la corrispondenza corrente anziché tutte le corrispondenze.
Bryan,

17

La riga di comando contrassegna -No --LINE-NUMBERScausa la visualizzazione di un numero di riga all'inizio di ogni riga del display.

Puoi anche attivare o disattivare i numeri di riga lessdigitando -N<return>. In questo modo è possibile attivare o disattivare le lessopzioni della riga di comando.


1
Passare -N o --LINE-NUMERI mostra solo la data per me in CentOS 5.3. Tuttavia, l'utilizzo di -N dopo l'avvio di meno funziona correttamente.
Mike Miller,

15

Se colpisci =e prevedi di vedere i numeri di riga, ma vedi solo i conteggi dei byte, i numeri di riga vengono disattivati. Premi -nper accenderli e assicurati$LESS non includere 'n'.

Disattivazione dei numeri di riga per impostazione predefinita (ad esempio, impostazione LESS=n ) velocizza le ricerche in file molto grandi. È utile se cerchi frequentemente file di grandi dimensioni, ma di solito non ti importa su quale linea sei.

In genere corro con LESS=RSXin(codici di escape abilitati, lunghe righe tratteggiate, non deseleziono lo schermo all'uscita, ignoro le maiuscole in tutte le ricerche in minuscolo e nessun conteggio dei numeri di riga per impostazione predefinita) e uso solo -no -Sdall'interno lessse necessario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.