
less
在所有使用指令取得顏色的工具中-R
:皮格門斯,GNU 原始碼突出顯示,弗萊斯, ...西澤讓我對以下命令感到滿意:
ccze -A < /path/to/log/file | less -R
但Shift+g沒有如預期工作:
- 我必須先按Ctrl+c
- 後面跟著Shift+ g,但它不會到達文件末尾
我錯過了什麼?
答案1
/var/log/syslog
當我嘗試這個尺寸2.1MB
和22500
線條長度時,我看到了與您描述的類似的行為。我懷疑這ccze
部分是造成這種情況的原因,於是我跑了:
time ccze -A /var/log/syslog > foo
這表明ccze
在我的機器上大約需要 55 秒1.2GHz
才能產生彩色輸出。我預計這就是導致less
掛起的原因,在完成生成輸出less
之前無法到達輸出的末尾,因此似乎掛起。ccze
less
使這項工作更好的替代方案:
- 使用 等選擇輸出
grep
,sed
然後透過管道輸入ccze
。 - 對文件進行預先著色並運行
less
。
答案2
Meta-> 和 Meta-< 對我來說都運作得很好。我已經習慣了它們,因為它們在 emacs 中也做同樣的事情