私は次の行を持っているので、特に置き換えたいのは
client_encryption_options:
enabled: true
に
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
答え1
yq
入力はYAMLファイルなので、次のようなコマンドラインYAMLパーサーを使用する場合があります。https://kislyuk.github.io/yq/
yq -y '.client_encryption_options.enabled |= false' file.yml
これにより、最上位オブジェクトenabled
のキーの値が に更新されます。client_encryption_options
false
変更をその場で行うには、またはオプションyq
とともにを使用します。--in-place
-i
これはJSON ラッパーyq
のラッパーなのでjq
、ドキュメントからコメントを削除します。
yq
プログラムをご利用の場合https://mikefarah.gitbook.io/yq/これは、例えばUbuntuでインストールyq
した場合に得られるもので、snap
yq eval '.client_encryption_options.enabled |= false' file.yml
...インプレース編集を行うには、--inplace
またはオプションを使用します。-i
これにより、yq
ファイルからコメントが削除されることはありません。