当管道 "jq" 输出到 "less" 时如何保持颜色?
How do I keep colors when piping "jq" output to "less"?
我有一个简单的 json 文件,如果我将“jq”的输出通过管道传输到“less”,颜色将被删除。
这个有效:
# yey, lots of colors
jq "." /tmp/myfile.json
这不起作用:
# ugly output :( , no colors
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...
代码,您将需要那个开关。
我有一个简单的 json 文件,如果我将“jq”的输出通过管道传输到“less”,颜色将被删除。
这个有效:
# yey, lots of colors
jq "." /tmp/myfile.json
这不起作用:
# ugly output :( , no colors
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...
代码,您将需要那个开关。