Bash parsen JSON-Datei. Ich brauche den Versionswert aus einer JSON-Datei erhalten shich wie folgt aussieht:versuchen, JSON-Datei mit Bash zu analysieren
{
"attributes": {
},
"groupings": {
},
"recipes": {
},
"version": "0.2.54",
"source_url": "",
"issues_url": ""
}
Aber auf anderen Servern es so aussehen (ohne Leerzeichen)
"attributes": {},"groupings": {},"recipes":{},"version": "0.2.54","source_url": "","issues_url": ""}
Ich habe versucht, diese Lösung mit „grep - Po "aber würde nicht auf die jsons ohne Leerzeichen arbeiten und dann versuchen, dies mit sed & awk zu lösen, aber würde nicht auf jsons mit Leerzeichen arbeiten. Gibt es eine andere Möglichkeit, diese Feststellung zu tun, dass ich versuche, dies in einem Skript zu verwenden und eine Verbindung zu Servern mit „Messer ssh“
Ich empfehle, 'jq' für diesen Job zu verwenden. – Cyrus
Ich sah, aber es ist komplizierter angesichts der Tatsache, dass ich auf jedem Server aus einer Umgebung verbinden und ich muss das Tool auf jedem Server installieren. Außerdem aktualisieren Sie das centos repo, weil ich es nicht einfach mit "yum install jq" –
mit Ihrem Beispiel installieren konnte: 'tr -cd '[0-9].'
Cyrus