通过shell脚本读取所有JSON字段

通过shell脚本读取所有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|,$||'

相关内容