Je dois mettre à jour la configuration du fichier YAML. Voici la sortie actuelle et attendue. Comment puis-je le faire en utilisant un script shell d'une manière meilleure et plus simple?Mettre à jour le fichier YAML en utilisant un script shell dans Ubuntu
Avant la mise à jour du fichier YAML:
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
Après mise à jour du fichier YAML:
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
engine: "wiredTiger"
# mmapv1:
wiredTiger:
engineConfig:
cacheSizeGB: 4
Vous devriez toujours utiliser un analyseur pour faire ce genre de mise à jour, en utilisant un script shell (appelant 'sed' ou' awk') qui ne connaît pas les composants internes de YAML. (Sur les citations, les lignes pliées, les commentaires, le style de bloc contre le flux, etc.) – Anthon
Assez en accord avec @Anthon là. Je veux dire "C'est juste du texte", donc vous pouvez faire à peu près tout ce que vous voulez. Mais il s'agit en réalité d'une "structure de données sérialisée", donc il est vraiment logique d'analyser et de modifier une structure de données en fonction de vos besoins, puis de la sortir à nouveau en tant que YAML. Il est presque vieux puisque même CSV peut être assez simple, et pourtant c'est aussi très simple de le casser. Les structures de données sont généralement mieux laissées à des choses qui les comprennent. IHMO, –
En tant que sidenote, vos "modifications" sont vraiment assez génériques. Il ne semble donc pas y avoir de raison pour que vous ne puissiez simplement pas échanger une configuration existante contre une nouvelle. À moins bien sûr qu'il y ait des données spécifiques d'instance contenues qui ne sont pas mentionnées dans la question, –