Fish Shell:
Travailler avec JSON
Comment faire :
Le Fish Shell, en lui-même, ne dispose pas d’utilitaires intégrés pour l’analyse et la génération de JSON. Cependant, il s’intègre sans problème avec des outils tiers comme jq
pour le traitement du JSON. jq
est un processeur JSON en ligne de commande puissant et polyvalent qui vous permet de découper, filtrer, mapper et transformer des données structurées avec un langage simple et expressif.
Analyser du JSON avec jq
Pour analyser un fichier JSON et extraire des données à l’aide de jq
:
# En supposant que vous avez un fichier JSON nommé 'data.json' avec le contenu : {"name":"Fish Shell","version":"3.4.0"}
cat data.json | jq '.name'
# Exemple de sortie
"Fish Shell"
Génération de JSON avec jq
Créer un contenu JSON à partir de variables de shell ou de sorties :
# Créer un objet JSON à partir de variables
set name "Fish Shell"
set version "3.4.0"
jq -n --arg name "$name" --arg version "$version" '{name: $name, version: $version}'
# Exemple de sortie
{
"name": "Fish Shell",
"version": "3.4.0"
}
Filtrer les collections JSON
Supposons que nous avons un tableau JSON d’objets dans un fichier nommé versions.json
:
[
{"version": "3.1.2", "stable": true},
{"version": "3.2.0", "stable": false},
{"version": "3.4.0", "stable": true}
]
Pour filtrer ce tableau pour seulement les versions stables :
cat versions.json | jq '.[] | select(.stable == true) | .version'
# Exemple de sortie
"3.1.2"
"3.4.0"
Les exemples fournis démontrent la puissance de l’intégration de jq
avec Fish Shell pour les opérations JSON. Utiliser de tels outils enrichit l’expérience shell, en faisant un environnement redoutable pour la manipulation des formats de données modernes.