我有以下幾行,所以我只想特別替換
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
由於您的輸入是 YAML 文件,因此我們可以使用命令列 YAML 解析器,yq
例如https://kislyuk.github.io/yq/
yq -y '.client_encryption_options.enabled |= false' file.yml
這會將頂級物件enabled
中的鍵值更新為。client_encryption_options
false
若要就地進行更改,請yq
與 it--in-place
或-i
選項一起使用。
這yq
是 JSON 包裝器的包裝器jq
,因此將從文件中刪除註解。
如果您使用的yq
程式來自https://mikefarah.gitbook.io/yq/,這是如果您在 Ubuntu 上安裝,然後yq
使用snap
yq eval '.client_encryption_options.enabled |= false' file.yml
...並使用其--inplace
或-i
選項進行就地編輯。
這yq
不會從文件中刪除註釋。