Ein paar Tipps zur Verwendung der `debug`-Funktion
jq bringt einen praktischen debug-Filter mit.
Nutze ihn, während du an deinen Übungslösungen arbeitest, um die Daten zu untersuchen, die sich gerade in der jq-Pipeline befinden.
debug gibt ein „Debug-Array“ auf stderr aus.
Es gibt die Eingabe unverändert aus.
Das erste Element des Arrays ist der String „DEBUG:“.
Das zweite Element hängt davon ab, wie du debug aufrufst.
Die nullstellige debug-Funktion legt eine kompakte Darstellung der Eingabe in das Debug-Array:
jq -n '[11, 22, 33] | debug | map(. * 2)'
Ausgabe:
["DEBUG:",[11,22,33]]
[
22,
44,
66
]
Die einstellige Version leitet die Eingabe durch den angegebenen Filter:
jq -n '[11, 22, 33] | debug("length: \(length), last: \(.[-1])") | map(. * 2)'
["DEBUG:","length: 3, last: 33"]
[
22,
44,
66
]
Der Filter muss kein String sein. Er kann alles Mögliche sein, auch mehrere durch Kommas getrennte Ausdrücke für eine „mehrzeilige“ Debug-Ausgabe:
jq -n '[11, 22, 33] as $a | 44 | debug("I am here:", $a, .)'
["DEBUG:","I am here:"]
["DEBUG:",[11,22,33]]
["DEBUG:",44]
44