Как сохранить цвета при выводе «jq» на «меньше»? - PullRequest
1 голос
/ 09 июля 2020

У меня есть простой файл json, и если я перенаправлю вывод «jq» на «less», цвета будут удалены.

Это работает:

# yey, lots of colors
jq "." /tmp/myfile.json

Это не работает:

# ugly output :( , no colors
jq "." /tmp/myfile.json | less -R

Есть идеи, как сделать "меньше", чтобы цвета оставались?

1 Ответ

3 голосов
/ 09 июля 2020

Это 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..., вам понадобится этот переключатель.

...