반응형

 

긴 설명보다는 아래의 예제를 보는 것이 이해가 빠를 것이다.

 

##
## my.json 이라는 파일에 아래와 같이 내용이 있다고 가정하고 Parsing을 해보겠다.
##

$  cat  my.json
{
  "kind": "PodList",
  "items": [
    {
      "metadata": {
        "name": "namf-v1-65889c9fc7-ksbll",
        "generateName": "namf-v1-65889c9fc7-",
      },
      "status": {
        "podIPs": [
          {
            "ip": "10.130.2.59"
          }
        "startTime": "2022-01-21T13:55:53Z",
        
        ... 중간 생략 ...
        
      }


##
## 위와 같이 복잡한 JSON 문서 중에서 내가 원하는 부분만 추려서 아래와 같이 볼 수 있다.
##

$  jq '.items[] | {PodName: .metadata.name, PodIP: .status.podIPs, StartTime: .status.startTime, Node: .spec.nodeName}'  my.json

{
  "PodName": "namf-v1-65889c9fc7-ksbll",
  "PodIP": [
    {
      "ip": "10.130.2.59"
    }
  ],
  "StartTime": "2022-01-21T13:55:53Z",
  "Node": "worker3.ocp4.bmt.io"
}
{
  "PodName": "namf-v2-fbb5d7bf4-vhz8g",
  "PodIP": [
    {
      "ip": "10.130.2.58"
    }
  ],
  "StartTime": "2022-01-21T13:55:53Z",
  "Node": "worker3.ocp4.bmt.io"
}

$

+ Recent posts