jq hack #1: 덜 착색됨

3404 단어 jqjson
터미널에서 많은 JSON 출력을 보고 싶을 때가 있습니다. 때때로 이 JSON 출력은 형식이 적절하고 종종 REST 끝점에 의해 압축됩니다. 자세한 출력의 예:

$ kubectl get nodes -o json
$ curl 'https://hacker-news.firebaseio.com/v0/topstories.json'


두 경우 모두 다음을 통해 출력을 파이프할 수 있습니다.

$ ... | jq -C . | less -R

-C 매개변수를 jq로 지정하면 색상이 적용됩니다. 생략하면 jq 대화형 터미널이 감지된 경우에만 색상을 인쇄합니다. less로 더 파이핑하면 색상이 제거됩니다. 또한 많은 less 코드가 표시되지 않도록 해당 ANSI 색상을 보간하도록 ESC[1;39m에 지시해야 합니다.

$ kubectl get nodes -o json | jq -C . | less -R
{
  "apiVersion": "v1",
  "items": [
    {
      "apiVersion": "v1",
      "kind": "Node",
      "metadata": {
        "annotations": {
...
:


여기,
  • jq -C :

    --color-output / -C and --monochrome-output / -M:
    
    By default, jq outputs colored JSON if writing to a terminal.
    You can force it to produce color even if writing to a pipe
    or a file using -C, and disable color with -M.
    

  • less -R :

    -R or --RAW-CONTROL-CHARS
    
    Like -r, but only ANSI "color" escape sequences are output in
    "raw" form. Unlike -r, the screen appearance is maintained
    correctly in most cases. ANSI "color" escape sequences are
    sequences of the form:
    
        ESC [ ... m
    
    where the "..." is zero or more color specification characters.
    For the purpose of keeping track of screen appearance, ANSI color
    escape sequences are assumed to not move the cursor. [...]
    

  • 좋은 웹페이지 즐겨찾기