Fish Shell:
Travailler avec YAML
Comment faire :
Fish Shell ne dispose pas de support intégré pour l’analyse de YAML, mais vous pouvez utiliser des outils tiers comme yq
(un processeur YAML léger et portable en ligne de commande) pour manipuler les données YAML.
Installation de yq (si pas déjà installé) :
sudo apt-get install yq
Lire une valeur d’un fichier YAML :
Supposons que vous ayez un fichier YAML config.yaml
avec le contenu suivant :
database:
host: localhost
port: 3306
Pour lire l’hôte de la base de données, vous utiliseriez :
set host (yq e '.database.host' config.yaml)
echo $host
Exemple de sortie :
localhost
Mettre à jour une valeur dans un fichier YAML :
Pour mettre à jour le port
à 5432
, utilisez :
yq e '.database.port = 5432' -i config.yaml
Vérifiez la mise à jour :
yq e '.database.port' config.yaml
Exemple de sortie :
5432
Écrire un nouveau fichier YAML :
Pour créer un nouveau new_config.yaml
avec un contenu prédéfini :
echo "webserver:
host: '127.0.0.1'
port: 8080" | yq e -P - > new_config.yaml
Cela utilise yq
pour traiter et imprimer joliment (-P flag) une chaîne dans un nouveau fichier YAML.
Analyser des structures complexes : Si vous avez un fichier YAML plus complexe et avez besoin de récupérer des tableaux ou des objets imbriqués, vous pouvez :
echo "servers:
- name: server1
ip: 192.168.1.101
- name: server2
ip: 192.168.1.102" > servers.yaml
yq e '.servers[].name' servers.yaml
Exemple de sortie :
server1
server2
En utilisant yq
, Fish Shell rend la navigation dans les documents YAML et leur manipulation pour diverses tâches d’automatisation et de configuration simples.