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 yqLire une valeur d’un fichier YAML :
Supposons que vous ayez un fichier YAML config.yaml avec le contenu suivant :
database:
host: localhost
port: 3306Pour lire l’hôte de la base de données, vous utiliseriez :
set host (yq e '.database.host' config.yaml)
echo $hostExemple de sortie :
localhostMettre à jour une valeur dans un fichier YAML :
Pour mettre à jour le port à 5432, utilisez :
yq e '.database.port = 5432' -i config.yamlVérifiez la mise à jour :
yq e '.database.port' config.yamlExemple 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.yamlCela 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.yamlExemple de sortie :
server1
server2En utilisant yq, Fish Shell rend la navigation dans les documents YAML et leur manipulation pour diverses tâches d’automatisation et de configuration simples.