In mikefarah/yq, how do you move the root node under a new parent node? For example,
yq '...' <<<'hello: world'
Gives the following output:
$ yq '...' <<<'hello: world'
cat:
dog:
hello: world
As a workaround, I assign the root node to a new tmp root node, then filter out—see below. But I wonder if there is a better way.
$ yq '. as $root | .tmp.cat.dog = $root | .tmp' <<<'hello: world'
cat:
dog:
hello: world
You can simply create the new document with a reference to the input context
.(see Wrap (prefix) existing object in the manual):If you want to preserve the
.cat.dogpath expression notation, you can start off with an empty object{}instead of using a placeholder like.tmp:Output: