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
:)オプションを使用できます。
less
afterなどのパイプコマンドを使用するには、(short:)オプションをjq
使用する必要があります。--color-output
-C
less
acceptコマンドはオプションを使用してANSIシーケンスを再現できます-r
。
cat log | jq -cC . | less -r