Chinaunix

标题: jq用法求助 [打印本页]

作者: mir620    时间: 2017-08-24 10:48
标题: jq用法求助
原文件
{
  "request_id": "6d3e925d23084caca393f40875c3cdc8",
  "result": true,
  "data": [
    {
      "ModuleID": "36",
      "CreateTime": "2017-08-17 14:51:58",
      "ApplicationID": "5",
      "SetID": "11",
      "Operator": "",
      "Region": "",
      "InnerIP": "192.168.1.15",
      "AssetID": "",
      "SetName": "空闲机池",
      "BakOperator": "",
      "HostID": "1",
      "HardMemo": "",
      "Status": "",
      "HostName": "",
      "IdcName": "",
      "OSName": "",
      "Source": "1",
      "ModuleName": "CAS",
      "DeviceClass": "",
      "ApplicationName": "【正式】云启",
      "OuterIP": ""
    },
    {
      "ModuleID": "37",
      "CreateTime": "2017-08-17 14:53:47",
      "ApplicationID": "5",
      "SetID": "11",
      "Operator": "",
      "Region": "",
      "InnerIP": "192.168.1.15",
      "AssetID": "",
      "SetName": "空闲机池",
      "BakOperator": "",
      "HostID": "2",
      "HardMemo": "",
      "Status": "",
      "HostName": "",
      "IdcName": "",
      "OSName": "",
      "Source": "1",
      "ModuleName": "Authcenter",
      "DeviceClass": "",
      "ApplicationName": "【正式】云启",
      "OuterIP": ""
    },
    {
      "ModuleID": "38",
      "CreateTime": "2017-08-17 14:54:27",
      "ApplicationID": "5",
      "SetID": "11",
      "Operator": "",
      "Region": "",
      "InnerIP": "192.168.1.15",
      "AssetID": "",
      "SetName": "空闲机池",
      "BakOperator": "",
      "HostID": "3",
      "HardMemo": "",
      "Status": "",
      "HostName": "",
      "IdcName": "",
      "OSName": "",
      "Source": "1",
      "ModuleName": "DCMP",
      "DeviceClass": "",
      "ApplicationName": "【正式】云启",
      "OuterIP": ""
    }
  ],
  "code": "00",
  "message": ""
}


想通过ModuleName取出IP
[root@DEN 123]# jq .data 22 |jq ".[] | select(.ModuleName=="DCMP") | .InnerIP"
error: DCMP is not defined
.[] | select(.ModuleName==DCMP) | .InnerIP
                          ^^^^
1 compile error
[root@DEN 123]#

说我未定义


作者: mir620    时间: 2017-08-24 10:50
本帖最后由 mir620 于 2017-08-24 11:00 编辑

jq .data 22 |jq ".[] | .InnerIP, .ModuleName" |xargs -n2 |grep CAS |awk  '{print $1}'   我想到的一种方式  感觉比较土




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2