我有一些yml配置文件,结构不同且层次深入,我想提取密码(这些密码位于不同的级别)并将它们存储在一个yml文件中,该文件位于git仓库之外。让我展示一个例子
config1.yml
a:
b:
c: 1
password: secret
...
d: 2
...
我希望用
''
替换secret
,并提取密码到另一个yml文件中,该文件应如下所示:config1_passwords.yml
a:
b:
password: secret
有没有办法将不含密码的 config1.yml
与包含密码的 config1_passwords.yml
合并以获得正确的配置结构?
因此,基本上在哈希(解析的 yml 文件)方面,我想要做以下操作:
{ :a => { :b => { :c => 1, :password => '' }, :d => 2 } }
{ :a => { :b => { :password => 'secret' } } }
# =>
{ :a => { :b => { :c => 1, :password => 'secret' }, :d => 2 } }
感谢建议
已编辑 另一个示例
{ :a => { :b => { :c => 1, :d => { :password1 => '' }, :password2 => '' } } }
{ :a => { :b => { :d => { :password => 'secret' }, :password2 => 'secret2' } } }
# =>
{ :a => { :b => { :c => 1, :d => { :password => 'secret' }, :password2 => 'secret2' } } }
{ :a => { :b => { :c => 1, :password => '' }, :d => 2 } }
和{ :a => { :b => { :password => 'secret' } } }
,您想要得到的结果是{ :a => { :b => { :c => 1, :password => 'secret' }, :d => 2 } }
。我说得对吗? - Arup Rakshit