Bash:
Arbeider med YAML

Hvordan:

Å jobbe direkte med YAML i Bash krever litt oppfinnsomhet siden Bash ikke har innebygd støtte for parsing av YAML. Du kan imidlertid bruke eksterne verktøy som yq (en lett og bærbar kommandolinje YAML-prosessor) for å interagere effektivt med YAML-filer. La oss gå gjennom noen vanlige operasjoner:

Installerer yq:

Før du dykker inn i eksemplene, forsikre deg om at du har yq installert. Du kan vanligvis installere det fra pakkebehandleren din, for eksempel på Ubuntu:

sudo apt-get install yq

Eller du kan laste det ned direkte fra GitHub-repositoriet.

Lese en verdi:

Anta at du har en fil med navnet config.yaml med følgende innhold:

database:
  vert: localhost
  port: 5432
bruker:
  navn: admin
  passord: hemmelig

For å lese databaseverten, kan du bruke yq som følger:

yq e '.database.vert' config.yaml

Eksempel på utdata:

localhost

Oppdater en verdi:

For å oppdatere brukerens navn i config.yaml, bruk yq eval-kommandoen med -i (på stedet)-alternativet:

yq e '.bruker.navn = "nyadmin"' -i config.yaml

Verifiser endringen med:

yq e '.bruker.navn' config.yaml

Eksempel på utdata:

nyadmin

Legge til et nytt element:

For å legge til et nytt element under databasedelen, som et nytt felt timeout:

yq e '.database.timeout = 30' -i config.yaml

Å sjekke innholdet i filen vil bekrefte tillegget.

Slette et element:

For å fjerne passordet under bruker:

yq e 'del(.bruker.passord)' -i config.yaml

Denne operasjonen vil fjerne passordfeltet fra konfigurasjonen.

Husk, yq er et kraftfullt verktøy og har mange flere muligheter, inkludert konvertering av YAML til JSON, sammenslåing av filer, og enda mer komplekse manipulasjoner. Henvis til yq-dokumentasjonen for ytterligere utforskning.