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 中也做同样的事情