jq
Traitement de texte
Syntaxe
jq '[filter]' [file.json]Filtre et remodèle du JSON avec son petit langage propre ; il n'est souvent pas installé par défaut, et c'est -r qui retire les guillemets des chaînes.
Options courantes
| Option | Signification |
|---|---|
| -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 |
Exemples
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.
Ils sont faits pour être chaînés avec des tubes. Trois commandes reliées sont souvent plus courtes qu’une seule qui fait tout.
Comment lire
- Les crochets [ ] marquent une partie facultative.
- Les points de suspension … signifient qu’on peut en mettre plusieurs.
- Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.
Questions fréquentes
Q. Que fait jq ?
Filtre et remodèle du JSON avec son petit langage propre ; il n'est souvent pas installé par défaut, et c'est -r qui retire les guillemets des chaînes.
Q. Comment l’écrire ?
jq '[filter]' [file.json] — les crochets marquent ce qui est facultatif.
Q. Combien d’options valent la peine ?
Il y en a 6 ici ; la liste complète est dans man jq. Cette commande relève de Traitement de texte.
Commandes liées
page man: man jq