GNU/Linux >> Tutoriels Linux >  >> Linux

jq :commande introuvable (analyseur JSON CLI)

jq est un processeur JSON en ligne de commande léger et flexible, un peu comme sed en ce sens qu'il vous permet de découper, filtrer, mapper et transformer des données d'un format à un autre. Par exemple, il peut être utilisé pour convertir des données JSON en CSV (valeurs séparées par des virgules) pour les charger dans une base de données MySQL à colonnes non JSON. Vous pouvez le télécharger à partir de https://stedolan.github.io/jq/, et il existe une version en ligne à https://jqplay.org/ pour l'expérimentation. De plus, jq utilise l'analyseur d'expressions régulières compatibles Perl (PCRE), comme de nombreux autres langages. (Ce merveilleux outil mérite d'avoir beaucoup plus d'écrits à son sujet que les simples exemples ici, et la lecture du manuel est un moyen rapide de se familiariser avec les nombreuses fonctionnalités de cet outil.)

Si vous rencontrez l'erreur ci-dessous :

jq: command not found (JSON CLI Parser)

Vous pouvez essayer d'installer le package ci-dessous selon votre choix de distribution.

Répartition Commande
OS X brew install jq
Debian apt-get install jq
Ubuntu apt-get install jq
Alpin apk ajouter jq
Arch Linux pacman -S jq
Kali Linux apt-get install jq
Fédora dnf installer jq
Raspbian apt-get install jq
Docker docker exécuter cmd.cat/jq jq

Sans arguments pour jq, il "imprimera joliment" le document JSON. Ceci est très pratique pour les documents extrêmement complexes avec de nombreuses couches d'objets intégrés et de tableaux difficiles à afficher sur une seule ligne plate.

Sélectionner certains champs

À certaines occasions, toutes les données d'un document JSON ne seront pas intéressantes et vous pouvez utiliser jq pour reformer les données et ne fournir que des parties sélectionnées. Par exemple :

$ jq '{city, state, id}' myfile.json

Exemples de commande jq

1. Générez un fichier JSON, au format joli :

$ jq . file.json

2. Sortez tous les éléments des tableaux (ou toutes les paires clé-valeur des objets) dans un fichier JSON :

$ jq .[] file.json

3. Lisez les objets JSON d'un fichier dans un tableau et affichez-le (inverse de `jq .[]`) :

$ jq --slurp . file.json

4. Sortez le premier élément dans un fichier JSON :

$ jq .[0] file.json

5. Sortez la valeur d'une clé donnée du premier élément dans un texte JSON à partir de stdin :

$ cat file.json | jq .[0].key_name

6. Sortez la valeur d'une clé donnée de chaque élément dans un texte JSON depuis stdin :

$ cat file.json | jq 'map(.key_name)'

Résumé

jq est un processeur JSON en ligne de commande. Cela fonctionne comme sed pour les données JSON ; vous pouvez l'utiliser pour filtrer, analyser et transformer des données structurées avec la même facilité que sed, awk ou grep vous permet de faire avec du texte brut. Jq est disponible sur GitHub à https://stedolan.github.io/jq/. L'installation est très simple; c'est juste un binaire unique, disponible pour Windows, macOS et Linux. Téléchargez-le simplement et copiez-le dans le dossier disponible sur votre système PATH pour pouvoir l'exécuter à partir du shell ou de la ligne de commande.


Linux
  1. ifrename :commande introuvable

  2. netstat :commande introuvable

  3. kubectl :commande introuvable

  4. tvservice :commande introuvable

  5. lspci :commande introuvable

aws-shell :commande introuvable

w :commande introuvable

df :commande introuvable

du :commande introuvable

rm :commande introuvable

mv :commande introuvable