mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
2.2 KiB
2.2 KiB
yq d <yaml_file> <path_to_delete>
To Stdout
Given a sample.yaml file of:
b:
c: 2
apples: green
then
yq d sample.yaml b.c
will output:
b:
apples: green
From STDIN
cat sample.yaml | yq d - b.c
Deleting array elements
Given a sample.yaml file of:
b:
c:
- 1
- 2
- 3
then
yq d sample.yaml 'b.c[1]'
will output:
b:
c:
- 1
- 3
Deleting nodes in-place
Given a sample.yaml file of:
b:
c: 2
apples: green
then
yq d -i sample.yaml b.c
will update the sample.yaml file so that the 'c' node is deleted
Splat
Given a sample.yaml file of:
---
bob:
item1:
cats: bananas
dogs: woof
item2:
cats: apples
dogs: woof2
thing:
cats: oranges
dogs: woof3
then
yq d sample.yaml bob.*.cats
will output:
---
bob:
item1:
dogs: woof
item2:
dogs: woof2
thing:
dogs: woof3
Prefix Splat
Given a sample.yaml file of:
---
bob:
item1:
cats: bananas
dogs: woof
item2:
cats: apples
dogs: woof2
thing:
cats: oranges
dogs: woof3
then
yq d sample.yaml bob.item*.cats
will output:
---
bob:
item1:
dogs: woof
item2:
dogs: woof2
thing:
cats: oranges
dogs: woof3
Array Splat
Given a sample.yaml file of:
---
bob:
- cats: bananas
dogs: woof
- cats: apples
dogs: woof2
- cats: oranges
dogs: woof3
then
yq d sample.yaml bob.[*].cats
will output:
---
bob:
- dogs: woof
- dogs: woof2
- dogs: woof3
Multiple Documents - delete from single document
Given a sample.yaml file of:
something: else
field: leaveMe
---
b:
c: 2
field: deleteMe
then
yq w -d1 sample.yaml field
will output:
something: else
field: leaveMe
---
b:
c: 2
Multiple Documents - delete from all documents
Given a sample.yaml file of:
something: else
field: deleteMe
---
b:
c: 2
field: deleteMeToo
then
yq w -d'*' sample.yaml field
will output:
something: else
---
b:
c: 2
Note that '*' is in quotes to avoid being interpreted by your shell.
{!snippets/niche.md!}