Tengo las siguientes líneas, así que solo quiero reemplazar particularmente
client_encryption_options:
enabled: true
a
client_encryption_options:
enabled: false
client_encryption_options:
enabled: true
# If enabled and optional is set to true, encrypted and unencrypted connections over native transport are handled.
optional: false
keystore: XXXXXX
keystore_password: XXXXX
# Set require_client_auth to true to require two-way host certificate validation
require_client_auth: true
#
# Set truststore and truststore_password if require_client_auth is true
Respuesta1
Dado que su entrada es un archivo YAML, podemos usar un analizador YAML de línea de comandos, como yq
desdehttps://kislyuk.github.io/yq/
yq -y '.client_encryption_options.enabled |= false' file.yml
Esto actualiza el valor de la enabled
clave en el client_encryption_options
objeto de nivel superior a false
.
Para realizar el cambio in situ, utilice yq
su opción --in-place
o -i
.
Este yq
es un contenedor alrededor del jq
contenedor JSON y, por lo tanto, eliminará los comentarios del documento.
Si estás utilizando el yq
programa dehttps://mikefarah.gitbook.io/yq/, que es el que obtienes si instalas yq
usando snap
, por ejemplo, Ubuntu, luego usas
yq eval '.client_encryption_options.enabled |= false' file.yml
... y use su opción --inplace
o -i
para realizar ediciones in situ.
Esto yq
no eliminará los comentarios del archivo.