JQ过滤器和输出格式

时间:2016-06-17 13:51:24

标签: jq

对于以下输入:

[{
  "commit": {
    "author": {
      "name": "Stephen Dolan",
      "email": "mu@netsoc.tcd.ie",
      "date": "2013-06-22T16:30:59Z"
    },
    "committer": {
      "name": "Stephen Dolan",
      "email": "mu@netsoc.tcd.ie",
      "date": "2013-06-22T16:30:59Z"
    },
    "message": "Merge pull request #162 from stedolan/utf8-fixes\n\nUtf8 fixes. Closes #161"
    "url":"https://api.github.com/repos/stedolan/jq/commits/d25341478381063d1c76e81b3a52e0592a7c997f"    
  },
  {
    ...
  }
}]

JQ如何从不同的对象生成分隔字符串,如下所示?

"Stephen Dolan",  "https://api.github.com/repos/stedolan/jq/commits/d25341478381063d1c76e81b3a52e0592a7c997f",  "2013-06-22T16:30:59Z"

1 个答案:

答案 0 :(得分:5)

在数组中收集所需的字段,然后使用@csv转换为CSV行。确保获得原始输出。

jq -r '.[] | [ .commit.author.name, .commit.url, .commit.author.date ] | @csv' input.json