On Wed, Nov 06, 2024 at 22:24:42 +0100, Anastasios Lisgaras wrote:
> I have a YAML file for example `resource.yaml`.
> I want to find in this file all the lines ( actually it should be only one
> ), with the following string: "resource_type: apple" and immediately after
> that line add the following lines:
> 
> ```
>   color: red
>   weight: '1 kg'
>   origin: "Country x"
> ```

The *best* answer would be to find some kind of tool that's dedicated to
editing YAML streams.  I don't know YAML or its tools, so I have no
recommendations there.

If you want a second-best answer, you can use sed:

hobbit:~$ seq 3 | sed $'/2/a\\\n  color: red\\\n  weight: \'1 kg\'\\\n  origin: 
"Country x"'
1
2
  color: red
  weight: '1 kg'
  origin: "Country x"
3

The $'...' quoting is bash-specific, so this is actually a bash+sed answer.

Reply via email to