Czy mniej może pokazywać oglądaną proporcję pliku tekstowego?

18

Jak sugeruje tytuł, kiedy przeglądam plik tekstowy, chciałbym poznać aktualnie oglądaną część całego pliku tekstowego.

Wiem, że z opcją -N moglibyśmy włączyć numery linii, ale jak mogę zmniejszyć wyświetlanie numeru linii dla całego pliku tekstowego?

dzięki.

Jichao
źródło

Odpowiedzi:

19

Jeśli otworzysz plik z mniejszą ilością niż naciśnięcie Ctrl-g wyświetli bieżący numer linii, całkowitą liczbę linii i procent, jak pokazano poniżej:

linie 51-100 / 185 bajtów 3228/5886 54% (naciśnij RETURN)

secureBadshah
źródło
1
dzięki. po ponownym odwiedzeniu strony podręcznika, znajdź ją i uzyskaj pozostałe dwa równe polecenia „: f” i „=”. przepraszam za to.
Jichao
1
Niestety nie działa przez potoki, ani z parametrem -M, ani z drugiej odpowiedzi. Na przykład wdiff version1.txt version2.txt | colordiff | less -RMnie pokazuje wartości procentowej. Daj mi znać, jeśli ktoś ma rozwiązanie lub obejście tego problemu. Aktualizacja: rozwiązaniem jest dodanie + Gg, tak jak wyjaśniono inną odpowiedź.
baptx,
18

Masz na myśli jak z -Mprzełącznikiem?

Miś
źródło
Właśnie tego chcę!
Jichao
Lub -mjeśli numer linii nie jest konieczny.
Franklin Yu
1
Czy masz pomysł, czy istnieje rozwiązanie lub obejście, które wyświetla procent w przypadku korzystania z rur? Na przykład nie widzę wartości procentowej różnicy kolorów za pomocą tego polecenia: wdiff version1.txt version2.txt | colordiff | less -RMAktualizacja: rozwiązaniem jest dodanie + Gg, jak wyjaśniono w innej odpowiedzi.
baptx
6

less -M +Gg

dla niezbyt dużych plików jest OK, ponieważ +G( Gpolecenie) przechodzi do końca pliku

ALZ
źródło
1
Świetne $MANPAGERchociaż! Zobaczyć man man.
Tom Hale,
Świetne colordiffteż! Np .:wdiff version1.txt version2.txt | colordiff | less -RM +Gg
baptx
4

Po prostu trochę poszerzam poprzednie odpowiedzi. Wiersz poleceń:

less -M +Gg

wykonuje następujące czynności:

-M Pokaż bieżącą pozycję w pliku w wierszu poleceń + Gg Uruchom polecenia G(przejdź na koniec pliku) i g(wróć na początek pliku)

Jeśli lessczyta ze standardowego wejścia, co dzieje się, gdy manwyświetla stronę podręcznika, nie zna z góry całkowitej liczby linii w pliku, więc może poprawnie obliczyć swoją pozycję. Dlatego +Ggjest konieczne, abyless można było uzyskać całkowitą liczbę linii, a tym samym obliczyć bieżącą pozycję w procentach.

Uważam, że warto ustawić te zmienne w ~ / .bashrc :

export LESS+='-M'
export MANPAGER='less +Gg'

LESSupewni się, że wszystkie wywołania lessbędą pokazywały aktualną pozycję w wierszu poleceń i MANPAGERzapewnią, że lessbędą w stanie uzyskać całkowitą liczbę wierszy na stronie podręcznika, które lessnastępnie wyświetlą się w wierszu poleceń. Wydawało się bardziej rozsądny nie obejmuje +Ggw LESScelu zapobieżenia lesspróbom, aby przejść do końca potencjalnie dużym wejściem rurami. Jeśli to konieczne, zawsze można uruchomić polecenia Gi gręcznie.

Paulo Marcel Coelho Aragão
źródło
+1 za ręczny sposób, naciśnijGg
wisbucky
Dlaczego umieszczasz znak plus „MNIEJ +” w swoim przykładzie? Czy nie wystarczy napisać „export LESS = 'M”?
db
@db, MNIEJ + = '- M' doda opcję -M do wszystkich wcześniej ustawionych opcji MNIEJ
Paulo Marcel Coelho Aragão