Como exibir números de linha em 'menos' (GNU)


660

Qual é o comando para fazer menos números de linha de exibição na coluna da esquerda?


80
lessé um utilitário de linha de comando do linux e é muito comumente usado por programadores para visualizar arquivos de texto. Esta pergunta é sobre o tópico Estouro de pilha sob o domínio de "ferramentas usadas por programadores", assim como todas as questões relacionadas ao uso gitestão no tópico. É também o primeiro hit do Google ao pesquisar por "menos números de linhas de exibição". Esta questão não deve ser encerrada.
precisa saber é o seguinte

5
@JohnDibling A questão é mais apropriada para Unix e Linux Stack Exchange . Só porque lessé usado por programadores, não entra no tópico. Os lápis também são "ferramentas usadas pelos programadores", mas uma pergunta sobre como afiar um lápis não seria apropriada aqui.
Augurar

17
@augurar Eu acho que você NÃO sabe que as ferramentas aqui significa ferramentas de software . Você está deliberadamente interpretando o significado de ferramentas fora do contexto. By the way, eu acho bem que esta questão é apropriado para Unix e Linux Pilha do Exchange, mas não impede que esta questão de estar aqui no SO :)
Gab是好人

Respostas:


979

Do manual :

-N ou --LINE-NUMBERS Faz com que um número de linha seja exibido no início de cada linha no visor.

Você também pode alternar os números de linha sem sair menos digitando -N.

É possível alternar qualquer uma das opções de linha de comando da less dessa maneira.


6
Quando eu menos um arquivo grande, em seguida, "G" na parte inferior, ele diz "Calculando números de linhas ... (interrompa para interromper)", mesmo que não esteja exibindo números de linhas. Gostaria de saber como descobrir em que linha estou sem sair e reiniciar com -N. Estou sofrendo a penalidade. Onde está a recompensa?
de Bruno Bronosky

93
uau, eu olhei a ajuda por menos dezenas de vezes na esperança de encontrar a resposta para isso. Eu sempre negligenciei "- <flag> Alterna uma opção de linha de comando [veja OPÇÕES abaixo]." ... o que significa que você pode digitar "-N" a partir de menos. Fico chateado com isso há cerca de uma década. Bons tempos!
de Bruno Bronosky

2
é possível exibir os números de linha em uma cor diferente?
greg

3
Oi @ Greg Você pode usar sedpara colorir os números de linha e opção -Rpara deixar lessas cores de exibição: cat -n file.txt | sed 's/^[ 0-9]*[0-9]/\o033[34m&\o033[0m/' | less -R Você também pode personalizar LESSOPEN... Felicidades;)
olibre

1
Pressione ENTER / RETURN se estiver tentando alternar. Depois de digitar -n ou -N enquanto usa menos, você também pode precisar pressioná-lo posteriormente para efetivar as alterações. É o que diz na parte inferior, mas meu cérebro não ligou os pontos porque presumi que seria instantâneo e continuei digitando -N e fiquei imaginando por que os números nunca apareciam.
abelito 27/03/19

146

Você também pode pressionar =enquanto lessestá aberto para exibir apenas (na parte inferior da tela) informações sobre a tela atual, incluindo números de linhas, com o formato:

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

Por exemplo, aqui, por exemplo, a tela estava mostrando linhas 20530-20585e os arquivos têm um total de 1816468linhas.


44

Você pode filtrar o arquivo cat -nantes de canalizar para less:

cat -n file.txt | less

Ou, se sua versão do lesssuportar, a -Nopção:

less -N file.txt

4
Quais versões de menos você está ciente de que não as suporta?
Aaron Hall

Eu costumo usar nl vez de -n gato
ychaouche

32

Você pode definir uma variável de ambiente para sempre ter essas opções aplicáveis ​​a todos os arquivos menos desejados:

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

2
Line alias less="LESS='-RS#3NM~g' less"in .bashrcfez o meu dia! Obrigado!
Júri

4
Uma explicação deste encantamento seria muito bem-vindos :)
minexew

3
As opções são: R = melhor manipulação dos códigos de cores brutos nos arquivos. S = Rola linhas longas na tela em vez de quebra de linha. # 3 = rolar para a direita / esquerda em 3 posições por vez. N = mostra números de linha. M = Prompts mais longos. ~ = Em vez de exibir o espaço vazio depois que um arquivo termina com ~, não exiba nada para o espaço em branco. g = ao fazer uma pesquisa com 'g', realce apenas a correspondência atual em vez de todas as correspondências.
Bryan

17

A linha de comando sinaliza -Nou --LINE-NUMBERSfaz com que um número de linha seja exibido no início de cada linha no visor.

Você também pode alternar os números de linha sem sair lessdigitando -N<return>. É possível alternar qualquer uma das lessopções de linha de comando dessa maneira.


1
Passar -N ou --LINE-NUMBERS mostra apenas a data para mim no CentOS 5.3. No entanto, usar -N depois de iniciar menos funciona bem.
Mike Miller

15

Se você pressionar =e esperar ver os números de linha, mas apenas a contagem de bytes, os números de linha serão desativados. Pressione -npara ativá-los e verifique se $LESSnão inclui 'n'.

Desativar números de linha por padrão (por exemplo, configuração LESS=n) acelera as pesquisas em arquivos muito grandes. É útil se você costuma pesquisar arquivos grandes, mas geralmente não se importa em qual linha está.

Normalmente, eu corro com LESS=RSXin(códigos de escape ativados, linhas longas cortadas, não limpa a tela na saída, ignora maiúsculas e minúsculas em todas as pesquisas em minúsculas e sem contagem de número de linhas por padrão) e só uso -nou -Sde dentro lessconforme necessário.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.