JSON行を含む少ないファイル - 行を強調表示するか、色を指定するには?

JSON行を含む少ないファイル - 行を強調表示するか、色を指定するには?

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まず、ファイルを解析してから表示してみてください。 120,000本の短いjsonラインは私のコンピュータにかなり重いです。

ベストアンサー1

以下を使用してJSON出力に色を割り当てることができます。jq

cat log | jq .

出力はかなり良いですが、望ましくない場合は--compact-output(short -c:)オプションを使用できます。

lessafterなどのパイプコマンドを使用するには、(short:)オプションをjq使用する必要があります。--color-output-C

lessacceptコマンドはオプションを使用してANSIシーケンスを再現できます-r

cat log | jq -cC . | less -r

おすすめ記事