Uzyskaj kolory w mniejszej ilości poleceń dzięki ccze: Shift + g nie idzie na koniec pliku?

9

We wszystkich narzędzi, aby uzyskać kolory z lesspoleceniem: -R, Pygments , GNU Source-highlight , vless ... ccze Make me sastified z poniżej polecenia:

ccze -A < /path/to/log/file | less -R

ale Shift+ gnie działa zgodnie z oczekiwaniami:

  • Najpierw muszę nacisnąć Ctrl+c
  • po Shift+ g, ale nie przechodzi na koniec pliku

Przegapiłem coś?

kwanty
źródło

Odpowiedzi:

7

Widzę podobne zachowanie, które opisujesz, kiedy próbuję tego, /var/log/syslogco jest 2.1MBwielkością i wokół 22500linii. Podejrzewając, że cczebyło to częściowo winne, pobiegłem:

time ccze -A /var/log/syslog > foo

Co pokazało, że generowanie pokolorowanych danych cczezajmuje około 55 sekund na moim 1.2GHzkomputerze. Oczekuję, że właśnie to powoduje lesszawieszenie, lessnie może przejść do końca wyjścia, zanim cczezakończy generowanie, więc lesswydaje się zawiesić.

Alternatywy, aby to działało lepiej:

  • Wybierz wyjście z grep, seditp, a następnie do rury ccze.
  • Wstępnie pokoloruj plik i uruchom lessna nim.
Thor
źródło
Czy jest jakieś narzędzie do wstępnego pokolorowania pliku dziennika?
kwanty
Myślałem w myślach ccze -A LOG > SOME_FILE. Być może wykonywane w zadaniu cron.
Thor
Po co ci to, czy musi generować sekwencje ANSI? Zwykle używam vimdo przeglądania dziennika, ma dobre podświetlanie składni. Właśnie przetestowałem go na 7 MBpliku dziennika bez zauważalnego opóźnienia.
Thor
:se ft=sqlnie sprawia mi radości podczas oglądania /var/log/mysqld.log.
kwanty
1
Oto dostosowany syntax/messages.vim, dość prosty syn match. Pobierz go tutaj , włóż ~/.vim/syntaxi uruchom :set ft=mysqllog.
Thor
0

Zarówno Meta->, jak i Meta- <działają dla mnie idealnie. Jestem do nich przyzwyczajony, ponieważ robią to samo w emacs

ychaouche
źródło