GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di jq per recuperare il valore della chiave dall'output json

Devi combinare i filtri tramite | operatore:

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

Il primo .[] recupera repositories Vettore. Il prossimo .[] recupera tutti gli elementi del repositories Vettore. Infine, .name estrae le proprietà dagli elementi dell'array (oggetti).

Nota, il primo .[] funziona sull'oggetto perché è una funzionalità documentata:

.[]
    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.

Vuoi guardare l'array dei repository invece di trattare l'input come un array:

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

Linux
  1. Rimuovere la ridondanza dalle colonne di output?

  2. Utilizzando Windows DLL da Linux

  3. Dividi l'output del comando per colonne usando Bash?

  4. Array in Bash non trovato

  5. SSH da A a B a C, utilizzando la chiave privata su B

Notifica SMS da Nagios tramite Kannel

Converti l'output del comando ad albero in formato Json?

Eseguire un comando utilizzando argomenti che provengono da un array?

Colora l'output dei sensori?

MYSQL differisce nell'output dallo script

Decrittografare dal testo cifrato crittografato tramite RSA