I have a simple json file and if I pipe the output of "jq" into "less", the colors get removed.
This works:
# yey, lots of colors
jq "." /tmp/myfile.json
This doesn't work:
# ugly output :( , no colors
jq "." /tmp/myfile.json | less -R
Any ideas on how to make "less" keep the colors?
It is jq
that is suppressing the colours. From the man
page
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
So, just use:
jq -C "." /tmp/myfile.json | less -R
and it will output colours regardless. The less
command doesn't need the -R
switch on my version, but I believe it does on older versions. If you see the ESC...
codes, you will need that switch.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With