如何按顺序打印jq输出

26

在处理JSON时,我经常因JSON对象太长而失去概览。因此,类似 jq . | less 这样的东西会很好。但是,尽管上述命令行有效,但jq的美丽着色效果却消失了。

是否有另一种逐行或逐窗口阅读 jq 输出的方法,而不会让终端被完整的JSON对象淹没?

编辑:这个命令对我来说没有用:echo '{"hello": "world"}' | jq . | less -C

2个回答

32

在使用像 more -r 或者 less -r 这样的分页器之前,先使用 jq -C(着色)选项。


很遗憾,那个不起作用... 请尝试:echo '{"hello": "world"}' | jq . | less -C - Xiphias
“-C” 是在 “jq” 上的一个选项,而不是在 “less” 上。 - Richard Smith
2
下次写一个可用的例子,不要写成谜语... - Stephan Henningsen

16

report.json是一个JSON文件(cat report.json 命令可以打印出来但不会格式化)

cat report.json | jq . -C | more

使用分页和颜色输出jq

或者使用 less 而不是 more

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

P.S:这个问题中的评论也很有帮助,感谢。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接