Linux 配管时如何保持颜色;jq";输出到";减去“;?

Linux 配管时如何保持颜色;jq";输出到";减去“;?,linux,unix,pipe,jq,less-unix,Linux,Unix,Pipe,Jq,Less Unix,我有一个简单的json文件,如果我将“jq”的输出导入“less”,颜色就会被删除 这项工作: 是的,有很多颜色 jq/tmp/myfile.json 这不起作用: #丑陋的输出:(,没有颜色 jq“.”/tmp/myfile.json | less-R 关于如何让“少”保留颜色有什么想法吗?是jq抑制了颜色。从man页面 o --color-output / -C and --monochrome-output / -M: By default,

我有一个简单的json文件,如果我将“jq”的输出导入“less”,颜色就会被删除

这项工作:

是的,有很多颜色 jq/tmp/myfile.json 这不起作用:

#丑陋的输出:(,没有颜色
jq“.”/tmp/myfile.json | less-R

关于如何让“少”保留颜色有什么想法吗?

jq
抑制了颜色。从
man
页面

       o   --color-output / -C and --monochrome-output / -M:

           By default, jq outputs colored JSON if writing to a terminal.
You can force it to produce color even if writing to a pipe or a file
using -C, and disable color with -M
因此,只需使用:

jq -C "." /tmp/myfile.json | less -R

不管怎样,它都会输出颜色。
less
命令在我的版本上不需要
-R
开关,但我相信在旧版本上需要。如果你看到
ESC…
代码,你就需要这个开关。

你试过
jq-C
吗?如果我默认看到彩色输出,为什么我会这样做?因为,正如答案添加的l下面指出,jq默认情况下不会向管道添加颜色输出。非常感谢,这正是需要的。
jq-C.“/tmp/myfile.json | less-R