Início·Comandos de terminal

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çãoSignificado
-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

Exemplos

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.

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