10

我将lsgrep别名为'ls --color=auto''grep --color=auto'用于彩色输出,但是当我通过管道传输更多颜色时,颜色会丢失。

似乎没有更多更少的参数来为他们的输出着色。有没有办法做到这一点?

4

3 回答 3

17

问题不在于more并且less没有对它们的输出进行着色,ls而是没有输出颜色,因为它连接到另一个进程而不是终端。

当它输出颜色时,你不能轻易地变得ls更聪明,但你可以添加--color以强制它在管道输出颜色时输出颜色more

当您有颜色输出时,用于... |less -Rless颜色传递到终端,而不是将转义码显示为文本

于 2012-04-05T00:59:25.423 回答
3
ls --color | less -r

在 Linux、GNU 用户空间上测试。

于 2012-04-05T00:59:33.310 回答
1

在 macOS 10.15 Catalina (darwin 19.0.0) 上,您可以将ls管道的输出着色为head, grep,less并对morezsh 配置进行以下调整:

~/.zshrc

alias less="less -R"
alias more="more -R"

~/.zshenv

export GREP_COLOR=always
export CLICOLOR_FORCE=true

运行open x-man-page://command以打开该命令的手册页command

于 2019-11-01T12:27:00.893 回答