【发布时间】:2015-02-12 08:01:25
【问题描述】:
我目前正在下载大量 jira 问题以生成报告。目前,“完整数据”文件有大量单独的记录,如下所示:
{
"key": "645",
"type": "Bug",
"typeid": "1",
"status": "Closed",
"summary": "Crash when saving document",
"closedDate": "2014-10-03T09:01:23.000+0200",
"flag": null,
"fixVersionID": "123",
"fixVersionName": "2.7"
}
但是,因为我要下载多个版本并附加到同一个文件,所以我最终会得到这种结构。
[
{
"key": "645",
"type": "Bug",
"typeid": "1",
"status": "Closed",
"summary": "Crash when saving document",
"closedDate": "2014-10-03T09:01:23.000+0200",
"flag": null,
"fixVersionID": "123",
"fixVersionName": "2.7"
}
]
[
{
"key": "552",
"type": "Bug",
"typeid": "1",
"status": "Closed",
"summary": "Graphical Issue",
"closedDate": "2014-10-13T09:01:23.000+0200",
"flag": null,
"fixVersionID": "456",
"fixVersionName": "2.8"
}
]
我想要做的是计算具有特定日期的记录数,然后使用 jq 在开始日期到结束日期之间进行相同的循环
但是,我不知道该怎么做:
- 将记录展平,使它们成为一个数组而不是两个数组
- 从 closedDate 值中去除
T09:01:23.000+0200 - 统计具有特定日期值的对象数,例如
2014-10-13
【问题讨论】:
-
实际上,我想出了如何剥离
T09:01:23.000+0200。当您映射 jira 问题时,请执行以下操作:map({closedDate: .fields.resolutiondate[0:10]})这只会给您前十个字符。 -
grep '2014-10-13' some.json | wc -l会不会不够计数? -
@pratZ 会的,但我想要一个更清洁的解决方案。我知道 jq 有一个 max 和一个 min 函数,并且正在寻找类似的东西。但是,如果 grep 做到了,那就这样吧。真正的问题是数组的扁平化。