GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden von jq zum Abrufen des Schlüsselwerts aus der json-Ausgabe

Sie müssen Filter mit | kombinieren Betreiber:

$ jq -r '.[] | .[] | .name' test.json 
rhel6.6
rhel7

Die erste .[] holt repositories Reihe. Die nächste .[] holt alle Elemente des repositories Reihe. Zum Schluss .name extrahiert Eigenschaften aus dem Array items(objects).

Beachten Sie, die erste .[] funktioniert am Objekt, da es sich um ein dokumentiertes Feature handelt:

.[]
    If you use the .[index] syntax, but omit the index entirely, it
    will return all of the elements of an array...

    You can also use this on an object, and it will return all the
    values of the object.

Sie möchten sich das Repositories-Array ansehen, anstatt die Eingabe als Array zu behandeln:

$ jq -r '.repositories[].name' file
rhel6.6
rhel7

Linux
  1. Redundanz aus Ausgabespalten entfernen?

  2. Verwenden von Windows-DLL von Linux

  3. Verwendung der Ausgabe vorheriger Befehle in Bash

  4. MYSQL unterscheidet sich in der Ausgabe vom Skript

  5. SSH von A über B nach C, mit privatem Schlüssel auf B

SMS-Benachrichtigung von Nagios mit Kannel

Ein Feld aus einem Json-Array in ein Bash-Array parsen?

Wie erstelle ich ein Array eindeutiger Elemente aus einer Zeichenfolge/einem Array in Bash?

Erkennen, ob die Taste aus dem Skript gedrückt wird?

Einen Befehl mit Argumenten ausführen, die aus einem Array stammen?

Ausgabe von Sensoren einfärben?