首页 > 解决方案 > 如何从以下 JSON 数据中提取文件名

问题描述

我是新手jq,不知道如何从下面的 JSON 文件中提取文件名。

{
  "files" : [ {
    "name" : "filename1.gz",
    "StartDate" : "2018-07-09T11:00:00-04:00",
    "EndDate" : "2018-07-09T12:00:00-04:00"
  }, {
    "name" : "filename2.gz",
    "StartDate" : "2018-07-09T10:00:00-04:00",
    "EndDate" : "2018-07-09T11:00:00-04:00"
  }, {
    "name" : "filename3.gz",
    "StartDate" : "2018-07-09T09:00:00-04:00",
    "EndDate" : "2018-07-09T10:00:00-04:00"
 }, {
    "name" : "filename4.gz",
    "StartDate" : "2018-07-09T07:00:00-04:00",
    "EndDate" : "2018-07-09T08:00:00-04:00"
  } ]
}

预期输出:

[filename1.gz,filename2.gz,filename3.gz,filename4.gz]

标签: jsonjq

解决方案


我看到@Abdou 已经为此提供了解决方案,只需添加另一个缩小版本即可实现所需的解决方案。

jq --compact-output '[.files[].name]'


推荐阅读