【发布时间】:2020-03-31 20:06:04
【问题描述】:
我有这个 json 文件 historique.json。它由脚本 bash 创建,我在 Jenkinsfile 中调用脚本。
[
{
"PTF_INSTALL_DATE": " 2020-03-31 09:12:10",
"PTF_CONTENT": [
{
"NAME": "api_batch_API",
"CHECKED": "api_batch_NOT_SELECTED",
"VERSION": "G02R00C13_c14",
"CONFIG_FILE": ""
}
]
},
{
"PTF_INSTALL_DATE": " 2020-03-31 10:12:10",
"PTF_CONTENT": [
{
"NAME": "api_back_API",
"CHECKED": "api_back_NOT_SELECTED",
"VERSION": "G02R00C13_c14",
"CONFIG_FILE": ""
}
]
}
]
因此,当我在 jenkins 中进行构建时,一个元素已添加到文件 historique.json 的最后一个,如下所示:
[
{
"PTF_INSTALL_DATE": " 2020-03-31 09:12:10",
"PTF_CONTENT": [
{
"NAME": "api_batch_API",
"CHECKED": "api_batch_NOT_SELECTED",
"VERSION": "G02R00C13_c14",
"CONFIG_FILE": ""
}
]
},
{
"PTF_INSTALL_DATE": " 2020-03-31 10:12:10",
"PTF_CONTENT": [
{
"NAME": "api_back_API",
"CHECKED": "api_back_NOT_SELECTED",
"VERSION": "G02R00C13_c14",
"CONFIG_FILE": ""
}
]
},
{
"PTF_INSTALL_DATE": " 2020-03-31 11:12:10",
"PTF_CONTENT": [
{
"NAME": "api_ihm_API",
"CHECKED": "api_ihm_NOT_SELECTED",
"VERSION": "G02R00C13_c14",
"CONFIG_FILE": ""
}
]
}
]
等等。(就我而言,现在我在 json 文件中有很多元素)。 所以我的问题是我怎样才能得到最后 15 个元素而其余的被删除? 我试试这个,但对我不起作用:
for k in $(jq length historique.json); do
if [[ $k -gt 15 ]]; then
jq 'del(.[0])' historique.json > historique1.json
fi
done
有什么建议吗??(对不起我的英语)
【问题讨论】: