小编Pet*_*rik的帖子

如何使用 jq 将来自多个 JSON 对象的特定值解析为 csv

我有以下 json

[
   {
      "ip":"105.105.105.105",
      "timestamp":"1543746097",
      "ports":[
         {
            "port":80,
            "proto":"tcp",
            "status":"open",
            "reason":"syn-ack",
            "ttl":128
         }
      ]
   },
   {
      "ip":"105.105.105.105",
      "timestamp":"1543746097",
      "ports":[
         {
            "port":53,
            "proto":"tcp",
            "status":"open",
            "reason":"syn-ack",
            "ttl":128
         }
      ]
   }
]
Run Code Online (Sandbox Code Playgroud)

我想将端口提取到简单的csv输出

80,53
Run Code Online (Sandbox Code Playgroud)

我试过

jq -r '.[]."ports" | map(.port) | @csv' 105.105.105.105_tcp.json
Run Code Online (Sandbox Code Playgroud)

jq -r '.[]."ports" | map(.port) | join(",")' 105.105.105.105_tcp.json
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用。

json jq

3
推荐指数
1
解决办法
2068
查看次数

标签 统计

jq ×1

json ×1