Create

yq n <path_expression> <new value>

This works in the same way as the write command, but you don't pass in an existing Yaml file. Currently this does not support creating multiple documents in a single yaml file.

See docs for path expression and value parsing for more details, including controlling quotes and tags.

Creating a simple yaml file

yq n b.c cat

will output:

b:
c: cat

Creating using a create script

Create scripts follow the same format as the update scripts.

Given a script create_instructions.yaml of:

- command: update
path: b.c
value:
#great
things: frog # wow!

then

yq n -s create_instructions.yaml

will output:

b:
c:
#great
things: frog # wow!

You can also pipe the instructions in:

cat create_instructions.yaml | yq n -s -