Inicio·Comandos de terminal

jq

Procesado de texto

Uso

jq '[filter]' [file.json]

Filtra y reorganiza JSON con su propio mini lenguaje; a menudo no viene instalado, y -r es lo que quita las comillas de las cadenas.

Opciones habituales

OpciónSignificado
-rRaw output, so strings come out without quotes
-cOne compact line per result
-eSet the exit status from the result, for scripts
--argPass a shell string in as a jq variable
-sSlurp the whole input into one array
-nStart from null input and build output yourself

Ejemplos

curl -s api/users | jq -r '.[].name'

Every name, unquoted, one per line.

jq '.items | length' data.json

Counts the entries in an array.

jq -c '.[] | {id, name}' big.json

Two fields per row, compact.

Están hechos para encadenarse con tuberías. Tres comandos unidos suelen ser más cortos que uno que lo haga todo.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q. ¿Qué hace jq?

Filtra y reorganiza JSON con su propio mini lenguaje; a menudo no viene instalado, y -r es lo que quita las comillas de las cadenas.

Q. ¿Cómo se escribe?

jq '[filter]' [file.json] — los corchetes marcan lo que puedes omitir.

Q. ¿Cuántas opciones vale la pena saber?

Aquí van 6; la lista completa está en man jq. Este comando está en Procesado de texto.

Comandos relacionados

página man: man jq