탭을 공백으로 바꾸기

탭을 공백으로 바꾸기

JSON을 입력하세요:

[
  {
    "name": "cust1",
    "grp": [
      {
        "id": "46",
        "name": "BA2"
      },
      {
        "id": "36",
        "name": "GA1"
      },
      {
        "id": "47",
        "name": "NA1"
      },
      {
        "id": "37",
        "name": "TR3"
      },
      {
        "id": "38",
        "name": "TS1"
      }
    ]
  }
]

@tsv 출력에서 ​​공백으로 구분된 .grp[] 이름을 얻는 방법은 무엇입니까?

$ jq -r '.[]|[.name, (.grp//[{"name":"-"}]|.[]|" ",.name)]|@tsv' test_inp
cust1           BA2             GA1             NA1             TR3             TS1

위 예의 예상 출력은 다음과 같습니다.

cust[TAB]BA2[SPACE]GA1[SPACE]NA1[SPACE]TR3[SPACE]TS1

답변1

jq방법:

jq -r '.[] | [.name, (.grp | map(.name) | join(" "))] | @tsv' input.json

산출:

cust1   BA2 GA1 NA1 TR3 TS1

관련 정보