diff options
Diffstat (limited to 'content/go/merger.md')
-rw-r--r-- | content/go/merger.md | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/content/go/merger.md b/content/go/merger.md new file mode 100644 index 0000000..ce355c4 --- /dev/null +++ b/content/go/merger.md @@ -0,0 +1,84 @@ ++++ +title = "Merger" +name = "merger" +repository = "https://git.neonxp.ru/merger.git" +description = "Простейший мерджер yaml'ов" +gomod = true ++++ + +Простейший мерджер yaml'ов + +## Установка + +``` +go install neonxp.ru/go/merger@latest +``` + +## Использование + +``` +merger -i file1.yaml -i file2.yaml -i fileN.yaml -o output.yaml +``` + +Есть ещё ключи: + +- `-replace_arrays false` - если true то массивы по одинаковым ключам будут перезатираться. По умолчанию - соединяться. +- `-out_type` - выходной формат `yaml` (умолчание) или `json` + +## Пример + +file1.yaml +```yaml +a1: + a11: + - one + - two + a12: "one" +a2: + a21: + - one + - two + a22: "one" + a23: + a231: 231 + a232: 232 + a233: 233 +``` + +file2.yaml +```yaml +a1: + a11: + - three + - four + a12: "two" +a2: + a23: + a231: "!!!" + a232: "???" + a233: + sub: tree + to: merge +``` + +output.yaml +```yaml +a1: + a11: + - one + - two + - three + - four + a12: two +a2: + a21: + - one + - two + a22: one + a23: + a231: '!!!' + a232: ??? + a233: + sub: tree + to: merge +``` |