![쉘 스크립트를 통해 모든 JSON 필드 읽기](https://linux55.com/image/181348/%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%ED%86%B5%ED%95%B4%20%EB%AA%A8%EB%93%A0%20JSON%20%ED%95%84%EB%93%9C%20%EC%9D%BD%EA%B8%B0.png)
다음과 같은 할 일 목록이 있습니다. 과제용 CSV 파일을 준비해야 합니다.
Name,Status,Last Start,Last End
Joblists :
123.load.nw-data.025
123.load.nw-data.026
123.load.nw-data.027
123.load.nw-data.028
curl -s --insecure http://status-api.xyz.net:1234/v1/jobs_status/123?job_name=123.load.nw-data.025
산출:
{
"JobID": "A123123.load.nw-data.025",
"Job PID": -1,
"Job Name": "123.load.nw-data.025",
"Status": "RUNNING",
"Run Machine": "",
"Queue": "",
"Status Time": "2020-10-06 05:30:17",
"Exit Code": -656,
"Last Start": "2020-10-06 05:30:17",
"Last End": null,
}
답변1
"input.json"으로 데이터를 추출한다고 가정합니다.
데이터에는 "가 포함되어서는 안 됩니다. 포함된 경우 다른 언어로 구문 분석하는 것이 좋습니다.
파일당 1개의 데이터 세트만 있을 수 있으며 배열은 없습니다.
#!/bin/sh
(
# Title line
grep : input.json | cut -d : -f 1 | tr '\n' ','
echo ''
# Data line
grep : input.json | cut -d : -f 2- | tr -d '\n'
echo ''
) |
sed -e 's| *"|"|g' -e 's|", *|",|g' -e 's|,$||'