GNU/Linux >> Tutoriales Linux >  >> Linux

jq:comando no encontrado (JSON CLI Parser)

jq es un procesador JSON de línea de comandos liviano y flexible muy parecido a sed en el sentido de que le permite dividir, filtrar, asignar y transformar datos de un formato a otro. Por ejemplo, se puede usar para convertir datos JSON en CSV (valores separados por comas) para cargarlos en una base de datos MySQL sin columnas JSON. Puede descargarlo desde https://stedolan.github.io/jq/, y hay una versión en línea en https://jqplay.org/ para experimentar. Además, jq utiliza el analizador de expresiones regulares compatibles con Perl (PCRE), como muchos otros lenguajes. (Esta maravillosa herramienta merece tener mucho más escrito sobre ella que los ejemplos simples aquí, y leer el manual es una forma rápida de familiarizarse con las muchas funciones de esta herramienta).

Si encuentra el siguiente error:

jq: command not found (JSON CLI Parser)

Puede intentar instalar el siguiente paquete según su elección de distribución.

Distribución Comando
OS X instalar cerveza jq
Debian apt-get install jq
Ubuntu apt-get install jq
Alpino apk agregar jq
Arco Linux pacman -S jq
Kali Linux apt-get install jq
Fedora dnf instalar jq
Raspbian apt-get install jq
Docker docker ejecutar cmd.cat/jq jq

Sin argumentos para jq, "imprimirá bastante" el documento JSON. Esto es muy útil para documentos extremadamente complejos con muchas capas de objetos incrustados y matrices que son difíciles de ver en una sola línea plana.

Seleccione ciertos campos

En algunas ocasiones, no todos los datos en un documento JSON serán de interés, y puede usar jq para reformar los datos y proporcionar solo partes seleccionadas. Por ejemplo:

$ jq '{city, state, id}' myfile.json

Ejemplos de comandos jq

1. Genere un archivo JSON, en formato de impresión bonita:

$ jq . file.json

2. Genere todos los elementos de las matrices (o todos los pares clave-valor de los objetos) en un archivo JSON:

$ jq .[] file.json

3. Leer objetos JSON de un archivo en una matriz y generarlos (inverso de `jq .[]`):

$ jq --slurp . file.json

4. Muestra el primer elemento en un archivo JSON:

$ jq .[0] file.json

5. Muestra el valor de una clave dada del primer elemento en un texto JSON desde stdin:

$ cat file.json | jq .[0].key_name

6. Muestra el valor de una clave dada de cada elemento en un texto JSON desde stdin:

$ cat file.json | jq 'map(.key_name)'

Resumen

jq es un procesador JSON de línea de comandos. Funciona como sed para datos JSON; puede usarlo para filtrar, analizar y transformar datos estructurados con la misma facilidad que sed, awk o grep le permiten hacer con texto sin procesar. Jq está disponible en GitHub en https://stedolan.github.io/jq/. La instalación es muy sencilla; es solo un binario único, disponible para Windows, macOS y Linux. Simplemente descárguelo y cópielo en la carpeta disponible en su sistema PATH para poder ejecutarlo desde el shell o la línea de comandos.


Linux
  1. administrador de suscripciones:comando no encontrado

  2. dnf:comando no encontrado

  3. bc:comando no encontrado

  4. dpkg:comando no encontrado

  5. id:comando no encontrado

nc:comando no encontrado

aws-shell:comando no encontrado

pstree:comando no encontrado

rm:comando no encontrado

mv:comando no encontrado

ln:comando no encontrado