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 转义码的脚本。
关于linux - 在管道 grep 到 grep 后保留颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2327191/