我有包含 json 行的日志文件 - less 将其显示为纯文本
我可以用较少的功能对输出进行着色吗?
我也没有找到任何不太兼容的第三方工具与 json 突出显示
此类文件的示例
{"date":"2021-10-21 16:09:54", "perf":{"action":"getTimelineByClient", "time":46.2}}
{"date":"2021-10-22 16:09:54", "perf":{"action":"getTimelineByClient", "time":46.2}}
{"date":"2021-10-23 16:09:54", "perf":{"action":"getTimelineByClient", "time":46.2}}
编辑
@glennjackman 善意地指出https://github.com/sharkdp/bat- 很棒的工具,不适合我的需求,但也许对其他人有帮助。bat
首先解析文件,然后尝试显示它。 120k 的短 json 行对于我的机器来说相当沉重
答案1
您可以使用以下命令对 JSON 输出进行着色jq
cat log | jq .
输出很漂亮,但如果你不想要它,你可以使用--compact-output
(short: -c
) 选项。
less
要使用像after这样的管道命令jq
,您需要使用--color-output
(short: -C
) 选项。
less
命令accept 可以使用选项重现ANSI 序列-r
。
cat log | jq -cC . | less -r