Create
Yaml files can be created using the 'new' command. This works in the same way as the write command, but you don't pass in an existing Yaml file.
yq n <path> <new value>
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:
b.c: 3
b.e[0].name: Howdy Partner
then
yq n -s create_instructions.yaml
will output:
b:
c: 3
e:
- name: Howdy Partner
You can also pipe the instructions in:
cat create_instructions.yaml | yq n -s -
Keys with dots¶
When specifying a key that has a dot use key lookup indicator.
b:
foo.bar: 7
yaml r sample.yaml 'b[foo.bar]'
yaml w sample.yaml 'b[foo.bar]' 9
Any valid yaml key can be specified as part of a key lookup.
Note that the path is in quotes to avoid the square brackets being interpreted by your shell.