JSON 행이 있는 파일을 줄입니다. 행을 강조 표시/색상화하는 방법은 무엇입니까?

JSON 행이 있는 파일을 줄입니다. 행을 강조 표시/색상화하는 방법은 무엇입니까?

내부에 json 행이 있는 로그 파일이 있습니다. 더
적은 기능으로 출력을 색상화할 수 있습니까?
또한 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(짧게: -c) 옵션을 사용할 수 있습니다.

lessafter 와 같은 파이프 명령어를 사용하려면 (short: ) 옵션을 jq사용해야 합니다 .--color-output-C

less옵션을 사용하여 ANSI 시퀀스를 재생하는 명령을 수락합니다 -r.

cat log | jq -cC . | less -r

관련 정보