![使用 ccze 在 less 命令中获取颜色:Shift + g 不会转到文件末尾?](https://linux22.com/image/24058/%E4%BD%BF%E7%94%A8%20ccze%20%E5%9C%A8%20less%20%E5%91%BD%E4%BB%A4%E4%B8%AD%E8%8E%B7%E5%8F%96%E9%A2%9C%E8%89%B2%EF%BC%9AShift%20%2B%20g%20%E4%B8%8D%E4%BC%9A%E8%BD%AC%E5%88%B0%E6%96%87%E4%BB%B6%E6%9C%AB%E5%B0%BE%EF%BC%9F.png)
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 中也做同样的事情