У меня есть файлы журналов со строками json внутри - less отображает их как обычный текст
Могу ли я раскрасить вывод с помощью возможностей less?
Кроме того, я не нашел никаких сторонних инструментов 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 тыс. коротких строк JSON оказались довольно тяжелыми для моей машины
решение1
Вы можете раскрасить свой вывод JSON с помощьюjq
cat log | jq .
Вывод получается симпатичным, но если он вам не нужен, вы можете использовать опцию --compact-output
(сокращенно: -c
).
Чтобы использовать конвейерную команду, например less
after jq
, необходимо использовать опцию --color-output
(short: -C
).
less
команда принимает для воспроизведения последовательностей ANSI с -r
опцией.
cat log | jq -cC . | less -r