【发布时间】:2018-12-22 15:16:23
【问题描述】:
除了jq --color-output 使用的默认颜色之外,我如何指定颜色?
【问题讨论】:
标签: json syntax jq text-coloring
除了jq --color-output 使用的默认颜色之外,我如何指定颜色?
【问题讨论】:
标签: json syntax jq text-coloring
对 JQ_COLORS 环境变量的支持已于 2017 年 4 月 29 日(即 jq 1.5 发布之后)添加到开发版本中,并带有以下文档:
要配置替代颜色,只需设置JQ_COLORS
环境变量到部分终端的冒号分隔列表
转义序列如"1;31",按以下顺序:
- color for `null`
- color for `false`
- color for `true`
- color for numbers
- color for strings
- color for arrays
- color for objects
默认配色方案与设置相同
"JQ_COLORS=1;30:0;39:0;39:0;39:0;32:1;39:1;39".
这不是 VT100/ANSI 转义的手册。然而,每一个 这些颜色规格应由两个分开的数字组成 用分号,其中第一个数字是以下之一:
- 1 (bright)
- 2 (dim)
- 4 (underscore)
- 5 (blink)
- 7 (reverse)
- 8 (hidden)
第二个是其中之一:
- 30 (black)
- 31 (red)
- 32 (green)
- 33 (yellow)
- 34 (blue)
- 35 (magenta)
- 36 (cyan)
- 37 (white)
【讨论】:
brew install --HEAD jq;另见github.com/stedolan/jq/wiki/Installation
FIELD_COLOR,它是在src/jv_print.c line 35中设置的。
null 值不可见:设置此环境变量以将您的黑色粗体不可见 null 切换为红色非粗体一:export JQ_COLORS='0;31:0;39:0;39:0;39:0;32:1;39:1;39' - 影响这个的部分是初始字符0;31,它转换为non-bold;red。将0; 更改为1; 以获得大胆,将31 更改为37 以使其白色且非侵入性。