我有一个很大的 yaml 文件:
---
foo: bar
baz:
bacon: true
eggs: false
---
goo: car
star:
cheese: true
water: false
---
dog: boxer
food:
turkey: true
moo: cow
---
...
我想做的是将此文件拆分为 n 个有效的 yaml 文件。
我尝试在 bash 中使用 csplit 执行此操作:
但最终得到的文件比我想要的要多得多:
csplit --elide-empty-files -f rendered- example.yaml "/---/" "{*}"
或最后一个文件包含大部分内容的拆分:
csplit --elide-empty-files -n 3 -f rendered- app.yaml "/---/" "{3}"
这是不理想的。我真正想要的是能够说,将 yaml 文件分成三份,并在最近的分隔符处分割。我知道这并不总是真正的三分之二。
关于如何在 bash 中完成此任务的任何想法?