Start·Terminal-Befehle

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

OptionBedeutung
-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

Beispiele

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.

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