シェルスクリプトを介してすべてのJSONフィールドを読み取る

シェルスクリプトを介してすべてのJSONフィールドを読み取る

次のタスクのリストがあります。課題用の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|,$||'

関連情報