У меня большой файл yaml:
---
foo: bar
baz:
bacon: true
eggs: false
---
goo: car
star:
cheese: true
water: false
---
dog: boxer
food:
turkey: true
moo: cow
---
...
Что я хотел бы сделать, это разбить этот файл на n-количество действительных файлов yaml.
Я попытался сделать это с помощью csplit в bash:
Но в конечном итоге получилось либо намного больше файлов, чем мне нужно: csplit --elide-empty-files -f rendered- example.yaml "/---/" "{*}"
или разделение, где последнийФайл содержит большую часть содержимого: csplit --elide-empty-files -n 3 -f rendered- app.yaml "/---/" "{3}"
Это не идеально.Что я действительно хочу, так это возможность сказать, разделить файл yaml на три части, где он разделяется на ближайший разделитель.Я знаю, что это не всегда будет действительно треть.
Есть какие-нибудь идеи о том, как этого добиться в bash?