Jak wyświetlać numery wierszy w „mniej” (GNU)


660

Jakie polecenie powoduje zmniejszenie liczby wyświetlanych numerów wierszy w lewej kolumnie?


80
lessjest linuxowym narzędziem wiersza poleceń i jest bardzo często używany przez programistów do przeglądania plików tekstowych. To pytanie jest ściśle związane z przepełnieniem stosu w dziedzinie „narzędzi używanych przez programistów”, podobnie jak wszystkie pytania dotyczące używania gitsą na temat. Jest to także pierwsze trafienie w Google podczas wyszukiwania „mniej numerów linii do pokazania”. To pytanie nie powinno zostać zamknięte.
John Dibling,

5
@JohnDibling Pytanie jest bardziej odpowiednie dla wymiany stosów Unix i Linux . Tylko dlatego, że lessjest używany przez programistów, nie robi tego na temat. Ołówki są również „narzędziami używanymi przez programistów”, ale pytanie o to, jak wyostrzyć ołówek, nie byłoby tutaj właściwe.
sierpień

17
@augurar Chyba NIE wiedzieć, że narzędzia oznacza tu narzędzi programowych . Celowo interpretujesz znaczenie narzędzi poza kontekstem. Nawiasem mówiąc, myślę również, że to pytanie jest odpowiednie dla wymiany stosów Unix i Linux, ale to nie przeszkadza, aby to pytanie było tutaj na SO :)
Gab 是 好人

Odpowiedzi:


979

Z instrukcji :

-N lub --LINE-NUMBERS Powoduje wyświetlenie numeru linii na początku każdej linii na wyświetlaczu.

Możesz także przełączać numery linii, nie wychodząc mniej, pisząc -N.

W ten sposób można przełączać dowolne opcje wiersza poleceń less.


6
Kiedy mam mniejszy plik niż „G” na dole, pojawia się komunikat „Obliczanie numerów linii ... (przerwij, aby przerwać)”, nawet jeśli nie wyświetla numerów linii. Chciałbym wiedzieć, jak dowiedzieć się, na której linii jestem, bez wychodzenia i ponownego uruchamiania z -N. Cierpię na karę. Gdzie jest nagroda?
Bruno Bronosky,

93
wow, szukałem pomocy przez kilkadziesiąt razy, mając nadzieję znaleźć odpowiedź na to pytanie. Zawsze przeoczałem „- <flag> Przełącz opcję wiersza poleceń [patrz OPCJE poniżej].” ... co oznacza, że ​​możesz wpisać „-N” od wewnątrz mniej. Denerwuje mnie to od około dekady. Dobre czasy!
Bruno Bronosky,

2
czy możliwe jest wyświetlanie numerów linii w innym kolorze?
greg

3
Cześć @greg można używać seddo kolorowania numery linii i opcji -Rpozwolić lesswyświetlanych kolorów: cat -n file.txt | sed 's/^[ 0-9]*[0-9]/\o033[34m&\o033[0m/' | less -R was mogą również dostosować LESSOPEN... Na zdrowie;)
olibre

1
Naciśnij ENTER / RETURN, jeśli próbujesz się przełączać. Po wpisaniu -n lub -N przy mniejszym użyciu, może być konieczne naciśnięcie tego później, aby wprowadzić zmiany w życie. Na dole jest nawet napisane „tak”, ale mój mózg nie połączył kropek, ponieważ zakładałem, że będzie to natychmiastowe, i wciąż pisałem -N i zastanawiałem się, dlaczego liczby nigdy się nie pojawiły.
abelito

146

Możesz także nacisnąć, =gdy lessjest otwarty, aby wyświetlić (na dole ekranu) informacje o bieżącym ekranie, w tym numery linii, w formacie:

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

Na przykład tutaj ekran wyświetlał linie 20530-20585, a pliki zawierają w sumie 1816468linie.


44

Możesz przefiltrować plik cat -nprzed potokiem do less:

cat -n file.txt | less

Lub, jeśli twoja wersja lessgo obsługuje, -Nopcja:

less -N file.txt

4
Które wersje mniej wiesz, że nie obsługuje to?
Aaron Hall

Zwykle używam nl zamiast cat -n
ychaouche

32

Możesz ustawić zmienną środowiskową, aby zawsze te opcje miały zastosowanie do wszystkich plików mniejszych:

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

2
Linia alias less="LESS='-RS#3NM~g' less"w .bashrcnie mój dzień! Dzięki!
Jury

4
Wyjaśnienie tej inkantacji byłoby bardzo mile widziane :)
minexew

3
Dostępne opcje to: R = lepsza obsługa surowych kodów kolorów w plikach. S = Przewiń długie linie poza ekran zamiast zawijania słów. # 3 = przewijaj w prawo / w lewo o 3 pozycje na raz. N = pokaż numery linii. M = dłuższe monity. ~ = Zamiast wyświetlać puste miejsce po zakończeniu pliku ~, nie wyświetlaj niczego dla pustego miejsca. g = podczas wyszukiwania za pomocą „g” podświetl tylko bieżące dopasowanie zamiast wszystkich dopasowań.
Bryan

17

Flagi wiersza poleceń -Nlub--LINE-NUMBERS powoduje wyświetlenie numeru linii na początku każdej linii na wyświetlaczu.

Możesz także przełączać numery linii bez wychodzenia lessz pisania, pisząc -N<return>. W ten sposób można przełączać dowolne lessopcje wiersza poleceń.


1
Podanie -N lub --LINE-NUMBERS pokazuje mi tylko datę w CentOS 5.3. Jednak użycie -N po uruchomieniu mniej działa dobrze.
Mike Miller

15

Jeśli naciśniesz =i oczekujesz, że zobaczysz numery linii, ale zobaczysz tylko liczbę bajtów, numery linii zostaną wyłączone. Naciśnij, -naby je włączyć i upewnij się, $LESSże nie zawiera „n”.

Domyślne wyłączenie numerów linii (na przykład ustawienie LESS=n) przyspiesza wyszukiwanie bardzo dużych plików. Jest to przydatne, jeśli często przeszukujesz duże pliki, ale zwykle nie zależy ci na tym, w której linii się znajdujesz.

Zwykle biegam z LESS=RSXin(włączone kody ucieczki, długie linie pocięte, nie czyszczę ekranu przy wyjściu, ignoruję wielkość liter we wszystkich wyszukiwaniach małych liter i domyślnie nie liczę numerów linii) i używam -nlub -Sod wewnątrz lessw razie potrzeby.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.