Nhận màu trong lệnh ít hơn với ccze: Shift + g không đi đến cuối tệp?


9

Trong tất cả các công cụ để lấy màu bằng lesslệnh : -R, Pygments , GNU Source-highlight , vless , ... ccze làm cho tôi chắc chắn với lệnh dưới đây:

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

nhưng Shift+ gkhông hoạt động như mong đợi:

  • Tôi phải nhấn Ctrl+ ctrước
  • theo sau Shift+ g, nhưng nó không đi đến cuối tập tin

Tôi đã bỏ lỡ một cái gì đó?

Câu trả lời:


7

Tôi thấy hành vi tương tự như bạn mô tả khi tôi cố gắng này trên /var/log/syslogđó là 2.1MBvề kích thước và xung quanh 22500đường dài. Nghi ngờ đó cczelà một phần để đổ lỗi cho nó, tôi chạy:

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

Điều đó cho thấy cczemất khoảng 55 giây trên 1.2GHzmáy của tôi để tạo đầu ra được tô màu. Tôi hy vọng đây là những gì làm cho lesstreo, lesskhông thể đi đến cuối của đầu ra trước khi cczehoàn thành việc tạo ra nó, vì vậy lessdường như bị treo.

Các lựa chọn thay thế để làm cho công việc này tốt hơn:

  • Chọn đầu ra với grep, sedvv và sau đó đường ống vào ccze.
  • Tô màu trước tập tin và chạy lesstrên đó.

Có công cụ nào để tô màu trước tệp nhật ký không?
lượng tử

Tôi đã suy nghĩ dọc theo dòng ccze -A LOG > SOME_FILE. Có lẽ được thực hiện trong một công việc định kỳ.
Thor

Bạn cần nó để làm gì, nó có phải xuất các chuỗi ANSI không? Tôi thường sử dụng vimđể xem nhật ký, nó có tô sáng cú pháp tốt. Chỉ cần kiểm tra nó trên một 7 MBtệp nhật ký không có độ trễ đáng chú ý.
Thor

:se ft=sqlkhông làm tôi vui khi xem /var/log/mysqld.log.
lượng tử

1
Đây là một điều chỉnh syntax/messages.vim, khá đơn giản syn matchmà thôi. Lấy nó ở đây , đặt nó vào ~/.vim/syntaxvà chạy :set ft=mysqllog.
Thor

0

Cả Meta-> và Meta- <đều hoạt động hoàn toàn tốt đối với tôi. Tôi đã quen với họ bởi vì họ làm tương tự trong emacs

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.