大きな 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 ファイルを 3 分の 1 に分割し、最も近い区切り文字で分割する機能です。それが常に真の 3 分の 1 であるとは限らないことを私は知っています。
これをbashで達成する方法についてのアイデアはありますか?