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.