例如,这将保留ls
的颜色/语法突出显示:
ls -la --color=always | egrep --color=always -i "(foobar|$)"
但这不会(所以我知道这不是 grep 问题):
vimcat /etc/apt/sources.list | egrep --color=always -i "(foobar|$)"
只要输出不分页,不使用 vimcat(而是直接调用 vim)的替代解决方案也是可以接受的。
答案1
有一个实用工具叫假装即使您使用重定向(如管道),它也会将您的命令包装在 pty 中。
我相信如果你这样做,你可能会得到你期望的结果
faketty vimcat /etc/apt/sources.list | egrep --color=always -i "(foobar|$)"
答案2
嗯,这很尴尬!问题很简单,sources.list 不是一个可突出显示的文件;另一个文件工作得很好。所以没关系。 :) Ziggoto 的回答仍然很有趣,所以我将保留这个问题而不删除它。