Penapis jq yang digunakan setiap hari, dikumpulkan mengikut tugas: mencapai nilai, menapis dan memilih, mengolah koleksi, mengubah nilai dan rentetan, membentuk semula menjadi objek atau tatasusunan baharu, mengemas kini laluan di tempat, bercabang mengikut logik, dan mengendalikan pengurangan lanjutan, berserta bendera baris arahan yang membentuk input dan output. Setiap baris memadankan penapis dengan hasil yang dihasilkannya.
jq ialah penapis: ia membaca JSON daripada stdin, menjalankan saluran paip ungkapan yang dipisahkan oleh paip, dan menulis JSON ke stdout. Titik ialah nilai semasa; semuanya dibina di atasnya. Cara terpantas untuk belajar ialah menyalurkan data sebenar melalui resipi di bawah dan memerhatikan outputnya. Jalankannya sebagai jq 'penapis' fail.json atau curl ... | jq 'penapis'.
Jadual rujukan · 65 entri
Resipi jqExplained
65 of 65 rows
Akses
Keseluruhan input, dicetak dengan kemas.
Nilai pada satu kunci, atau kunci bersarang.
Nilai pada kunci yang namanya mengandungi aksara khas.
Elemen pertama tatasusunan (nombor negatif dikira dari hujung).
Setiap elemen tatasusunan, atau setiap nilai objek, pada barisnya sendiri.
Nilai pada kunci, atau null, tanpa ralat apabila kunci tiada.
Tapis & pilih
Input tidak berubah apabila syarat benar, selebihnya tiada apa-apa.
Laksanakan expr pada setiap elemen tatasusunan dan kumpulkan hasilnya.
Nama kunci tersusun, atau nilai, sesuatu objek sebagai tatasusunan.
Panjang tatasusunan atau rentetan, atau bilangan kunci dalam objek.
Hanya elemen yang age-nya melebihi 18, sebagai satu tatasusunan.
Koleksi
Benar apabila sekurang-kurangnya satu, atau apabila setiap, elemen truthy atau lulus penapis.
Benar apabila kunci k wujud dalam objek; in menjalankan ujian yang sama dari pihak kunci.
Elemen pertama, terakhir, atau hanya n output pertama daripada f.
Nilai terkecil, atau terbesar, dalam tatasusunan.
Nombor dari 0 hingga n, setiap satu sebagai output tersendiri.
Tatasusunan bersarang diratakan menjadi satu tatasusunan rata.
Benar apabila x muncul di suatu tempat dalam input; inside membalikkan peranan.
Laksanakan f pada setiap nilai dari bawah ke atas, kemudian bina semula seluruh input.
Transformasi
Tatasusunan yang hanya mengandungi medan price setiap elemen.
Jumlah tatasusunan nombor, atau gabungan tatasusunan objek.
Paksa nilai menjadi rentetan, atau rentetan berangka menjadi nombor.
Enkod input sebagai rentetan JSON atau base64.
Rentetan dalam huruf kecil.
Rentetan
Rentetan dengan nilai expr disisipkan ke dalam teks.
Ganti setiap padanan corak, atau hanya yang pertama, dengan s.
Pecahkan rentetan menjadi tatasusunan pada pemisah, atau cantumkan tatasusunan menjadi satu rentetan.
Uji rentetan terhadap corak, atau keluarkan padanan dan tangkapan bernama.
Buang awalan, atau akhiran, hanya apabila ia ada.
Benar atau palsu: rentetan bermula, atau berakhir, dengan s.
Rentetan dalam huruf besar.
Tatasusunan dienkod sebagai baris CSV, baris TSV, atau hujah shell berkutip.
Bentuk semula
Objek baharu dengan hanya medan id dan name input.
Tatasusunan nama setiap item.
Tatasusunan objek {key, value} daripada objek.
Objek yang dibina daripada tatasusunan objek {key, value}.
Elemen dikelompokkan ke dalam subtatasusunan mengikut medan cat.
Susun mengikut medan, atau kekalkan satu elemen bagi setiap id berbeza.
Kemas kini & laluan
Kemas kini nilai pada kunci dengan melaksanakan f ke atasnya.
Tulis ganti nilai pada kunci dengan v.
Tambah n pada nilai count, di tempat.
Baca, tulis, atau padam nilai pada laluan yang diberikan sebagai tatasusunan.
Kawalan & logik
a apabila c benar, b sebaliknya, dengan elif untuk cabang tambahan.
Jalankan f, dan jalankan g dengan mesej ralat apabila f gagal.
Berhenti dengan ralat yang membawa msg, melainkan ditangkap oleh try.
Tiada output langsung; cabang itu hilang daripada hasil.
Gabungkan nilai benar dan palsu, atau balikkan satu.
Lanjutan
Lipat keseluruhan tatasusunan menjadi satu jumlah berjalan.
Seperti reduce, tetapi memancarkan keadaan selepas setiap langkah, bukan hanya yang terakhir.
Input berikutnya, atau semua input yang berbaki, ditarik di tengah penapis.
Nilai sebagai teks JSON-nya, atau teks JSON diurai semula menjadi nilai.
Teks base64 dinyahkod semula menjadi rentetan asal.
Penugasan jauh dalam struktur, mencipta peringkat yang hilang sepanjang laluan.
a jika bukan null atau palsu, sebaliknya b (nilai lalai).
Input dengan satu kunci dibuang.
Setiap laluan dalam input sebagai tatasusunan kunci, dari atas ke bawah.
Pemboleh ubah & CLI
Takrifkan $name sebagai rentetan shell, boleh digunakan dalam penapis.
Takrifkan $name daripada JSON mentah, untuk nombor, boolean, tatasusunan, atau objek.
Takrifkan $name sebagai keseluruhan kandungan fail JSON.
Cetak hasil rentetan mentah, tanpa tanda kutip atau escape.
Cetak setiap hasil secara padat dalam satu baris, tanpa indentasi.
Jalankan penapis sekali pada null, untuk membina output daripada kosong.
Baca keseluruhan input ke dalam satu tatasusunan sebelum penapis berjalan.
Tetapkan kod keluar daripada output terakhir, supaya skrip shell boleh menguji hasilnya.
Nilai pemboleh ubah persekitaran, dibaca di dalam penapis.