jq
Processamento de texto
Uso
jq '[filter]' [file.json]Filtra e remodela JSON com sua própria linguagem pequena; muitas vezes não vem instalado, e é o -r que tira as aspas das strings.
Opções comuns
| Opção | 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 |
Exemplos
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.
Foram feitos para serem encadeados com pipes. Três comandos ligados costumam ser mais curtos que um que faça tudo.
Como ler
- Os colchetes [ ] marcam uma parte que você pode omitir.
- As reticências … indicam que você pode listar vários.
- As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.
Perguntas
Q. O que jq faz?
Filtra e remodela JSON com sua própria linguagem pequena; muitas vezes não vem instalado, e é o -r que tira as aspas das strings.
Q. Como se digita?
jq '[filter]' [file.json] — os colchetes marcam o que você pode omitir.
Q. Quantas opções vale a pena saber?
Aqui estão 6; a lista completa está em man jq. Este comando fica em Processamento de texto.
Comandos relacionados
página man: man jq