Ang mga jq filter na ginagamit araw-araw, nakagrupo ayon sa gawain: umabot sa isang value, mag-filter at pumili, gumawa sa mga koleksyon, i-transform ang mga value at string, hugisan muli bilang bagong object o array, i-update ang mga path sa lugar, mag-branch sa lohika, at panghawakan ang advanced na reduction, kasama ang mga command-line flag na humuhulma sa input at output. Pinapares ng bawat row ang filter sa resultang nililikha nito.
Ang jq ay isang filter: nagbabasa ito ng JSON mula sa stdin, tumatakbo ng pipeline ng mga expression na hiwalay ng pipe, at nagsusulat ng JSON sa stdout. Ang tuldok ang kasalukuyang value; nakabatay ang lahat dito. Ang pinakamabilis na paraan ng matuto ay i-pipe ang tunay na data sa mga recipe sa ibaba at panoorin ang output. Patakbuhin ang mga ito bilang jq 'filter' file.json o curl ... | jq 'filter'.
Talaan ng sanggunian · 65 mga entry
Mga jq RecipeExplained
65 of 65 rows
Pag-access
Ang buong input, naka-pretty-print.
Ang value sa isang key, o sa mga nested na key.
Ang value sa key na may mga special character sa pangalan.
Ang unang elemento ng array (negatibo, binibilang mula sa dulo).
Bawat elemento ng array, o bawat value ng object, sa sariling linya nito.
Ang value sa key, o null, nang walang error kapag wala ang key.
Pag-filter at pagpili
Ang input na hindi nabago kapag true ang cond, kung wala ay walang ibinabalik.
Ipinapatupad ang expr sa bawat elemento ng array at kinokolekta ang mga resulta.
Ang mga pinagsunod-sunod na pangalan ng key, o ang mga value, ng object bilang array.
Ang haba ng array o string, o ang bilang ng key sa isang object.
Mga elemento lang na ang edad ay higit sa 18, bilang isang array.
Mga koleksyon
True kapag kahit isang elemento, o kapag lahat ng elemento, ay truthy o pumasa sa filter.
True kapag mayroon ang key k sa object; pinapatakbo ng in ang parehong pagsubok mula sa panig ng key.
Ang unang elemento, ang huli, o mga unang n output lang ng f.
Ang pinakamaliit, o pinakamalaki, na value sa isang array.
Ang mga numero mula 0 hanggang n, bawat isa bilang sariling output.
Mga nested na array na napisa sa isang patag na array.
True kapag nagaganap ang x kahit saan sa loob ng input; binabaligtad ng inside ang mga papel.
Ipinapatupad ang f sa bawat value mula sa ibaba pataas, pagkatapos ay muling itinayo ang buong input.
Pag-transform
Array ng price field lamang mula sa bawat elemento.
Ang kabuuan ng array ng mga numero, o ang pagsasanib ng array ng mga object.
Ginagawang string ang isang value, o numeric na string bilang numero.
I-encode ang input bilang JSON string o base64.
String na naka-lowercase.
Mga string
String na may value ng expr na sinaksak sa teksto.
Pinapalitan ang bawat tugma ng pattern, o ang unang tugma lang, ng s.
Hinihiwalay ang string sa array ayon sa separator, o dinidikit ang array bilang isang string.
Sinusubok ang string laban sa pattern, o inaalis ang mga tugma at mga pinangalanang capture.
Nag-aalis ng prefix, o suffix, kapag lang talagang nariyan ito.
True o false: nagsisimula, o nagtatapos, ang string sa s.
String na naka-uppercase.
Array na naka-encode bilang CSV row, TSV row, o mga quote na shell argument.
Paghubog muli
Bagong object na may id at name field lamang ng input.
Array ng pangalan ng bawat item.
Array ng mga {key, value} object mula sa isang object.
Object na binuo mula sa array ng mga {key, value} object.
Mga elementong hinati sa mga subarray ayon sa cat field nila.
Nagsasunod ayon sa field, o nag-iingat ng isang elemento kada natatanging id.
Pag-update at mga path
Ina-update ang value sa key sa pamamagitan ng pagpatakbo ng f dito.
Pinapalitan ang value sa key ng v.
Nagdaragdag ng n sa value sa count, sa lugar.
Nagbabasa, nagsusulat, o nagtatanggal ng mga value sa mga path na ibinigay bilang array.
Kontrol at lohika
a kapag true ang c, b kung hindi, gamit ang elif para sa karagdagang branch.
Tumatakbo ang f, at tumatakbo ang g na may error message sa halip kapag nabigo ang f.
Humihinto na may error na may dalang msg, maliban kung mahuhuli ito ng try.
Walang output; mistulang nawawala lang ang branch na iyon mula sa mga resulta.
Pinagsasama ang mga true at false na value, o binabaligtad ang isa.
Advanced
Tinitiklop ang buong array bilang isang tumatakbong kabuuan.
Tulad ng reduce, ngunit inilalabas nito ang estado pagkatapos ng bawat hakbang, hindi lang ang huli.
Ang susunod na input, o lahat ng natitirang input, na hinatak sa gitna ng filter.
Value bilang JSON text nito, o JSON text na na-parse pabalik bilang value.
Base64 text na na-decode pabalik sa orihinal na string.
Pagtatalaga sa kailaliman ng istruktura, lumilikha ng mga nawawalang antas sa daan.
a kung hindi ito null o false, kung hindi ay b (default na value).
Ang input na may isang tinanggal na key.
Bawat path sa input bilang array ng mga key, mula taas pababa.
Mga variable at CLI
Nagtatatakda ng $name bilang shell string, magagamit sa loob ng filter.
Nagtatatakda ng $name mula sa raw JSON, para sa mga numero, boolean, array, o object.
Nagtatatakda ng $name bilang buong nilalaman ng isang JSON file.
Nagpi-print ng mga resultang string nang raw, walang quote o escape.
Nagpi-print ng bawat resulta nang compact sa isang linya, walang indentation.
Pinapatakbo ang filter nang isang beses sa null, upang bumuo ng output mula sa wala.
Binabasa ang buong input sa isang array bago tumakbo ang filter.
Nagtatakda ng exit code mula sa huling output, para makatest ng mga shell script ang resulta.
Ang value ng environment variable, nababasa sa loob ng filter.