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