zu finden Ich habe 3 verschiedene Dateien. mongo.json
, elastic.json
, stripe.json
.jq: Vergleichen von drei Dateien, um fehlende IDs in einem
Jeder hat eine Reihe von Clients und ich möchte die Länge dieser Arrays vergleichen, um zu überprüfen, ob sie die gleiche Anzahl von Kunden zur Vermeidung von Fehlern haben. Hier ist ein Beispiel für jede Datei:
Mongo.json
[{
"_id": {
"$oid": "59c3942baeef22b03fa573d2"
},
"client_id": "[email protected]",
"name": "Windows Client"
},{
"_id": {
"$oid": "59c3942baeef22b03fa573d2"
},
"client_id": "[email protected]",
"name": "Linux Client"
}]
elastic.json
[
{
"alias" : "[email protected]",
"index" : "index1",
"filter" : "-"
},
{
"alias" : "[email protected]",
"index" : "index2",
"filter" : "-"
}
]
stripe.json
{
"object": "list",
"data": [
{
"id": "[email protected]",
"object": "customer",
"account_balance": 0,
"created": 1505990903
}
]
}
Mit dem folgenden Befehl, den ich die Länge jedes Arrays zu erhalten, aber ich don Ich weiß nicht, wie man diese Lengs für chec vergleicht k, wenn sie gleich sind oder nicht:
jq '. | length' mongo.json elastic.json stripe.json
Ergebnis:
2
2
1
Wie kann ich diese Ergebnisse vergleichen? Ich mag die folgende Ausgabe:
Falls sie die gleiche Länge:
Everyting is OK.
Im entgegengesetzten Fall:
Missing customer [email protected]
Die Kunden-ID: ist die E-Mail-.
Wie kann ich das tun?
I reduziert habe die Datenmenge und erklärt ein wenig mehr, was ich will. – Lechucico
Das ist jetzt definitiv viel besser. –
Ich habe es gerade repariert. Danke trotzdem. – Lechucico