我必須更新YAML文件配置。以下是當前和預期的產出。我怎樣才能以更好,最簡單的方式使用shell腳本?在Ubuntu中使用shell腳本更新YAML文件
的YAML文件的更新之前:
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
YAML文件的更新後:
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
engine: "wiredTiger"
# mmapv1:
wiredTiger:
engineConfig:
cacheSizeGB: 4
你應該總是使用一個解析器來做這種更新,使用不知道YAML內部的shell腳本(調用'sed'或'awk')在某個時刻保證會中斷。 (在引號,摺疊的線條,評論,塊vs流風格等) – Anthon
與@Anthon在那裏達成一致。我的意思是「它只是文本」,所以你可以做任何你想做的事情。但它實際上是一個「序列化的數據結構」,因此,根據需求解析和修改數據結構並將其重新輸出爲YAML格式非常有意義。它幾乎已經過時,因爲即使CSV也可以非常簡單,但破解它也非常簡單。數據結構通常最好留給理解它們的東西。 IHMO, –
作爲旁註,您的「編輯」實際上非常通用。所以似乎沒有任何理由說明爲什麼你不能換出新的現有配置。除非有問題中沒有提到的某些實例特定數據,否則 –