У меня есть json файл истории. 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, элемент добавляется в последний файл исторического файла. 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
Любое предложение ?? (И извините за мой английский sh)