cari
RumahTutorial sistemLINUXContoh penggunaan arahan JQ dalam Linux

Contoh penggunaan arahan JQ dalam Linux

Feb 10, 2024 pm 09:12 PM
linuxtutorial linuxsistem linuxarahan linuxskrip shellBermula dengan linuxpembelajaran linux

JSON ialah format perwakilan data yang digunakan untuk menyimpan dan memindahkan data antara lapisan aplikasi yang berbeza; ia menyimpan data dalam pasangan kunci:nilai. Dalam artikel ini, kita akan belajar menggunakan arahan JQ untuk memanipulasi dan memproses data JSON dalam shell.

Cara memasang arahan JQ

Gunakan arahan berikut untuk memasang jq pada Centos8:

[root@localhost ~]# dnf -y install jq
Linux 中的 JQ 命令使用实例

Bahasa

Sekarang kita boleh mula menggunakan arahan JQ kerana ia telah berjaya dipasang pada sistem kita, tetapi pertama sekali, mari kita lihat sintaks arahan JQ:

jq [options]  [file...]

jq [options] --args  [strings...]

jq [options] --jsonargs  [JSON_TEXTS...]

Arahan JQ boleh digunakan dalam pelbagai cara; ia boleh digunakan secara langsung pada fail JSON atau digabungkan dengan beberapa perintah lain untuk mentafsir data JSON. Perintah JQ boleh digunakan dengan penapis yang berbeza seperti penapis ".", "|", "," atau ".[]" untuk menyusun data JSON.

Arahan JQ juga mengambil pilihan berbeza sebagai parameter seperti –tab, –stream, –indent n, –unbuffered dan pilihan direktori -L. Sintaks arahan JQ mungkin kelihatan rumit pada mulanya, tetapi anda akan terbiasa dengannya selepas membaca keseluruhan artikel.

Cara menggunakan arahan JQ untuk menyusun data JSON

Ciri penapis arahan JQ yang paling mudah dan paling biasa digunakan. Ia digunakan untuk menyusun dan mencantikkan data JSON apabila mencetaknya ke output standard.

Dalam contoh ini, kami mempunyai fail JSON yang dipanggil employee.json dan kami perlu mengeluarkan data kepada output standard:

{"workers":{"name": "John Brooks","id": "003"}}

Kita boleh menggunakan arahan kucing untuk memaparkan data:

[root@localhost ~]# cat employee.json 
{"workers":{"name": "John Brooks","id": "003"}}
Linux 中的 JQ 命令使用实例

Data yang dicetak ke output standard menggunakan arahan kucing tidak teratur dan mengelirukan. Kita boleh menggunakan arahan JQ dan "." untuk menyusun data ini, dan menggunakan . untuk menapis:

[root@localhost ~]# jq '.' employee.json 
{
  "workers": {
    "name": "John Brooks",
    "id": "003"
  }
}
Linux 中的 JQ 命令使用实例

Kini data lebih teratur, berwarna-warni dan lebih mudah difahami. Penapis ini amat diperlukan apabila mengakses data daripada API data yang disimpan dalam API boleh menjadi sangat tidak teratur dan mengelirukan.

Cara mengakses hartanah menggunakan arahan JQ

.字段Penapis dan arahan JQ boleh digunakan untuk mengakses sifat objek dalam cangkerang.

Jika kita hanya mahu mengakses satu hartanah dan mencetaknya ke output standard, maka kita boleh menggunakan operator .字段. Sebagai contoh, untuk mengakses sifat pekerja kita boleh menggunakan arahan berikut:

[root@localhost ~]# jq '.workers' employee.json 
{
  "name": "John Brooks",
  "id": "003"
}
Linux 中的 JQ 命令使用实例

Kami juga boleh mengakses item yang terdapat dalam hartanah menggunakan pengendali .字段. Untuk mengakses item nama dalam atribut pekerja kami akan menggunakan:

[root@localhost ~]# jq '.workers.name' employee.json 
"John Brooks"
Linux 中的 JQ 命令使用实例

Bagaimana untuk mengakses item tatasusunan menggunakan arahan JQ

Kami juga boleh mengakses dan mengeluarkan elemen yang terdapat dalam tatasusunan dalam fail JSON menggunakan operator .[]. Untuk contoh ini, kami akan mengubah suai fail JSON kami dan menambah yang berikut:

[{"name": "John Brooks","id": "003"},{"name": "Randy Park","id": "053"},{"name": "Todd Gray","id": "009"}]

Semak fail employee.json:

[root@localhost ~]# cat employee.json 
[{"name": "John Brooks","id": "003"},{"name": "Randy Park","id": "053"},{"name": "Todd Gray","id": "009"}]
Linux 中的 JQ 命令使用实例

要输出 JSON 文件中存在的所有数组,我们将运行以下命令:

[root@localhost ~]# jq '.[]' employee.json 
{
  "name": "John Brooks",
  "id": "003"
}
{
  "name": "Randy Park",
  "id": "053"
}
{
  "name": "Todd Gray",
  "id": "009"
}
Linux 中的 JQ 命令使用实例

要仅输出第二个数组,我们可以通过以下方式修改上述命令:

[root@localhost ~]# jq '.[1]' employee.json 
{
  "name": "Randy Park",
  "id": "053"
}
Linux 中的 JQ 命令使用实例

请记住,数组从索引 0 开始的。

我们还可以使用 .字段 运算符访问数组中存在的属性。例如,如果我们想访问第三个数组中的 name 属性,那么我们将运行以下命令:

[root@localhost ~]# jq '.[2].name' employee.json 
"Todd Gray"
Linux 中的 JQ 命令使用实例

类似地,要访问数组中的所有名称属性,我们可以执行以下命令:

[root@localhost ~]# jq '.[].name' employee.json 
"John Brooks"
"Randy Park"
"Todd Gray"
Linux 中的 JQ 命令使用实例

总 结

JQ 命令用于将 JSON 数据转换为更易读的格式并将其打印到 Linux 上的标准输出。JQ 命令是围绕过滤器构建的,过滤器用于从 JSON 文件中仅查找和打印所需的数据。

Atas ialah kandungan terperinci Contoh penggunaan arahan JQ dalam Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:良许Linux教程网. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Adakah sukar untuk belajar Linux?Adakah sukar untuk belajar Linux?Apr 18, 2025 am 12:23 AM

Pembelajaran Linux tidak sukar. 1.Linux adalah sistem operasi sumber terbuka berdasarkan UNIX dan digunakan secara meluas dalam pelayan, sistem tertanam dan komputer peribadi. 2. Memahami sistem fail dan pengurusan kebenaran adalah kunci. Sistem fail adalah hierarki, dan keizinan termasuk membaca, menulis dan melaksanakan. 3. Sistem pengurusan pakej seperti APT dan DNF menjadikan pengurusan perisian mudah. 4. Pengurusan proses dilaksanakan melalui PS dan arahan teratas. 5. Mula belajar dari arahan asas seperti MKDIR, CD, Touch dan Nano, dan kemudian cuba penggunaan lanjutan seperti skrip shell dan pemprosesan teks. 6. Kesilapan umum seperti masalah kebenaran dapat diselesaikan melalui sudo dan chmod. 7. Cadangan Pengoptimuman Prestasi termasuk menggunakan HTOP untuk memantau sumber, membersihkan fail yang tidak perlu, dan menggunakan SY

Apakah gaji Pentadbir Linux?Apakah gaji Pentadbir Linux?Apr 17, 2025 am 12:24 AM

Purata gaji tahunan pentadbir Linux ialah $ 75,000 hingga $ 95,000 di Amerika Syarikat dan € 40,000 hingga € 60,000 di Eropah. Untuk meningkatkan gaji, anda boleh: 1. Secara berterusan mempelajari teknologi baru, seperti pengkomputeran awan dan teknologi kontena; 2. Mengumpulkan pengalaman projek dan menubuhkan portfolio; 3. Mewujudkan rangkaian profesional dan mengembangkan rangkaian anda.

Apakah tujuan utama Linux?Apakah tujuan utama Linux?Apr 16, 2025 am 12:19 AM

Penggunaan utama Linux termasuk: 1. Sistem Operasi Pelayan, 2. Sistem Terbenam, 3. Linux cemerlang dalam bidang ini, menyediakan kestabilan, keselamatan dan alat pembangunan yang cekap.

Adakah Internet berjalan di Linux?Adakah Internet berjalan di Linux?Apr 14, 2025 am 12:03 AM

Internet tidak bergantung pada sistem operasi tunggal, tetapi Linux memainkan peranan penting di dalamnya. Linux digunakan secara meluas dalam pelayan dan peranti rangkaian dan popular untuk kestabilan, keselamatan dan skalabiliti.

Apakah operasi Linux?Apakah operasi Linux?Apr 13, 2025 am 12:20 AM

Inti sistem pengendalian Linux adalah antara muka baris arahannya, yang boleh melakukan pelbagai operasi melalui baris arahan. 1. Operasi Fail dan Direktori Gunakan LS, CD, MKDIR, RM dan arahan lain untuk menguruskan fail dan direktori. 2. Pengguna dan Pengurusan Kebenaran Memastikan keselamatan sistem dan peruntukan sumber melalui UserAdd, Passwd, CHMOD dan arahan lain. 3. Pengurusan proses menggunakan PS, membunuh dan arahan lain untuk memantau dan mengawal proses sistem. 4. Operasi rangkaian termasuk PING, IFCONFIG, SSH dan arahan lain untuk mengkonfigurasi dan menguruskan sambungan rangkaian. 5. Pemantauan sistem dan penyelenggaraan sistem seperti TOP, DF, DU untuk memahami status operasi sistem dan penggunaan sumber.

Meningkatkan Produktiviti dengan Pintasan Perintah Custom Menggunakan Linux AliasesMeningkatkan Produktiviti dengan Pintasan Perintah Custom Menggunakan Linux AliasesApr 12, 2025 am 11:43 AM

Pengenalan Linux adalah sistem operasi yang kuat yang disukai oleh pemaju, pentadbir sistem, dan pengguna kuasa kerana fleksibiliti dan kecekapannya. Walau bagaimanapun, kerap menggunakan arahan panjang dan kompleks boleh membosankan dan er

Apa yang sebenarnya Linux?Apa yang sebenarnya Linux?Apr 12, 2025 am 12:20 AM

Linux sesuai untuk pelayan, persekitaran pembangunan, dan sistem tertanam. 1. Sebagai sistem pengendalian pelayan, Linux stabil dan cekap, dan sering digunakan untuk menggunakan aplikasi konkurasi tinggi. 2. Sebagai persekitaran pembangunan, Linux menyediakan alat arahan dan sistem pengurusan pakej yang cekap untuk meningkatkan kecekapan pembangunan. 3. Dalam sistem tertanam, Linux ringan dan disesuaikan, sesuai untuk persekitaran dengan sumber yang terhad.

Alat dan kerangka penting untuk menguasai penggodaman etika di LinuxAlat dan kerangka penting untuk menguasai penggodaman etika di LinuxApr 11, 2025 am 09:11 AM

Pengenalan: Mengamankan sempadan digital dengan penggodaman etika berasaskan Linux Di dunia yang semakin saling berkaitan, keselamatan siber adalah yang paling penting. Ujian penggodaman dan penembusan etika adalah penting untuk mengenal pasti dan mengurangkan keruntuhan secara proaktif

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma