GNU/Linux >> Tutoriales Linux >  >> Linux

Usando jq para obtener el valor clave de la salida json

Necesitas combinar filtros por medio de | operador:

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

El primer .[] obtiene repositories formación. El siguiente .[] obtiene todos los elementos del repositories formación. Finalmente, .name extrae propiedades de los elementos de la matriz (objetos).

Tenga en cuenta que el primer .[] funciona en el objeto porque es una característica documentada:

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

Desea ver la matriz de repositorios en lugar de tratar la entrada como una matriz:

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

Linux
  1. SSH sin contraseña usando pares de claves públicas y privadas

  2. ¿Cómo crear una matriz de elementos únicos a partir de una cadena/matriz en Bash?

  3. ¿Cómo eliminar varias líneas aleatorias de un archivo de texto usando Sed?

  4. ¿Detectar si la tecla se presiona desde el script?

  5. ¿Quitar la redundancia de las columnas de salida?

Notificación por SMS de Nagios usando Kannel

¿Ejecutar un comando usando argumentos que provienen de una matriz?

¿Colorear la salida de los sensores?

Matriz en Bash no encontrada

convertir la salida de bash `ls` a una matriz json

Descifrar del texto cifrado mediante RSA