How to print jq output sequentially

2020-08-09 10:54发布

问题:

When using jq to process JSON, I often lose the overview due to long JSON objects. Thus, something like jq . | less would be nice. However, although the above works, the nice coloring by jq is gone.

Is there another way to read jq's output line by line, or window by window, without having the terminal spammed with the full JSON object?

Edit: This did not work for me: echo '{"hello": "world"}' | jq . | less -C

回答1:

Use the jq -C (colorize) option, with more -r or less -r.



回答2:

report.json is a file with JSON (cat report.json prints but not formatted)

cat report.json | jq . -C | more

Outputs jq with pager and color

or via less instead of more

cat report.json | jq . -C | less -r

P.S: the comments in this question where also helpful so thanks for that