【发布时间】:2021-12-03 14:40:41
【问题描述】:
我有一个 JSON 端点,我可以使用 curl 和 yml 本地文件获取值。我想获取差异并使用 JSON 端点上存在的名称 id 将其删除。
JSON 的端点
[
{
"hosts": [
"server1"
],
"id": "qz9o847b-f07c-49d1-b1fa-e5ed0b2f0519",
"name": "V1_toto_a"
},
{
"hosts": [
"server2"
],
"id": "a6aa847b-f07c-49d1-b1fa-e5ed0b2f0519",
"name": "V1_tata_b"
},
{
"hosts": [
"server3"
],
"id": "a6d9ee7b-f07c-49d1-b1fa-e5ed0b2f0519",
"name": "V1_titi_c"
}
]
文件.yml
---
instance:
toto:
name: "toto"
tata:
name: "tata"
在JSON的端点和本地文件之间,我想用tata的id删除它,因为它是源之间的差异。
declare -a arr=(_a _b _c)
ar=$(cat files.yml | grep name | cut -d '"' -f2 | tr "\n" " ")
fileItemArray=($ar)
ARR_PRE=("${fileItemArray[@]/#/V1_}")
for i in "${arr[@]}"; do local_var+=("${ARR_PRE[@]/%/$i}"); done
remote_var=$(curl -sX GET "XXXX" | jq -r '.[].name | @sh' | tr -d \'\")
diff_=$(echo ${local_var[@]} ${remote_var[@]} | tr ' ' '\n' | sort | uniq -u)
输出=titi
代码有效,但我想动态删除带有 id 的titi
curl -X DELETE "XXXX" $id_titi
我正在尝试使用 bash 脚本删除,但我不知道继续...
【问题讨论】: