linux - 在管道 grep 到 grep 后保留颜色

Preserve ls colouring after grep’ing 中有一个类似的问题。但让我很恼火的是,如果你将彩色 grep 输出通过管道传输到另一个 grep 中,则不会保留颜色。

例如 grep --color WORD * | grep -v AVOID 不保留第一个输出的颜色。但对我来说 ls | grep FILE 确实保留颜色,为什么不一样?

最佳答案

grep 有时会禁用颜色输出,例如在写入管道时。您可以使用 grep --color=always

覆盖此行为

正确的命令行应该是

grep --color=always WORD * | grep -v AVOID

这很冗长,或者你可以添加一行

alias cgrep="grep --color=always"

到您的 .bashrc 例如并使用 cgrep 作为彩色 grep。重新定义 grep 时,您可能会遇到依赖于 grep 特定输出并且不喜欢 ascii 转义码的脚本。

https://stackoverflow.com/questions/2327191/

相关文章:

windows - 互斥锁和临界区有什么区别?

linux - 如何更改 bash 历史完成以完成已经上线的内容?

python - 使用代码存储库时如何引用资源的相对路径

python - 在多个上下文管理器上创建一个 "with" block ?

linux - 如何使 rpm 自动安装依赖项

c - GCC 的 __builtin_expect 在 if else 语句中的优势是什么?

linux - 使用 Unix 排序对多个键进行排序

python - sum() 之类的函数是什么,但用于乘法?产品()?

python - 如何保持 Python 脚本输出窗口打开?

python - 在列表中查找属性等于某个值的对象(满足任何条件)