jq
Textverarbeitung
Aufruf
jq '[filter]' [file.json]Filtert und formt JSON mit einer eigenen kleinen Sprache; es ist oft nicht vorinstalliert, und -r entfernt die Anführungszeichen um Strings.
Häufige Optionen
| Option | Bedeutung |
|---|---|
| -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 |
Beispiele
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.
Sie sind fürs Zusammenstecken mit Pipes gebaut. Drei verkettete Befehle sind meist kürzer als einer, der alles macht.
So liest man das
- Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
- Drei Punkte … heißen: mehrere sind erlaubt.
- Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.
Häufige Fragen
Q. Was macht jq?
Filtert und formt JSON mit einer eigenen kleinen Sprache; es ist oft nicht vorinstalliert, und -r entfernt die Anführungszeichen um Strings.
Q. Wie gibt man ihn ein?
jq '[filter]' [file.json] — eckige Klammern markieren, was wegfallen darf.
Q. Wie viele Optionen lohnen sich?
Hier stehen 6; die vollständige Liste steht in man jq. Der Befehl gehört zu Textverarbeitung.
Verwandte Befehle
man-Seite: man jq