merger.md

Личный сайт Go-разработчика из Казани

Простейший мерджер yaml’ов

Использование

merger -i file1.yaml -i file2.yaml -i fileN.yaml -o output.yaml

Есть ещё ключи:

  • -replace_arrays false - если true то массивы по одинаковым ключам будут перезатираться. По умолчанию - соединяться.
  • -out_type - выходной формат yaml (умолчание) или json

Пример

file1.yaml

1a1: 2 a11: 3 - one 4 - two 5 a12: "one" 6a2: 7 a21: 8 - one 9 - two 10 a22: "one" 11 a23: 12 a231: 231 13 a232: 232 14 a233: 233

file2.yaml

1a1: 2 a11: 3 - three 4 - four 5 a12: "two" 6a2: 7 a23: 8 a231: "!!!" 9 a232: "???" 10 a233: 11 sub: tree 12 to: merge

output.yaml

1a1: 2 a11: 3 - one 4 - two 5 - three 6 - four 7 a12: two 8a2: 9 a21: 10 - one 11 - two 12 a22: one 13 a23: 14 a231: '!!!' 15 a232: ??? 16 a233: 17 sub: tree 18 to: merge