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ón | Significado |
|---|---|
| -r | Raw output, so strings come out without quotes |
| -c | One compact line per result |
| -e | Set the exit status from the result, for scripts |
| --arg | Pass a shell string in as a jq variable |
| -s | Slurp the whole input into one array |
| -n | Start 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.jsonCounts the entries in an array.
jq -c '.[] | {id, name}' big.jsonTwo 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