mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
103 lines
1.3 KiB
Markdown
103 lines
1.3 KiB
Markdown
# Delete
|
|
|
|
Deletes matching entries in maps or arrays.
|
|
|
|
## Delete entry in map
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
{a: cat, b: dog}
|
|
```
|
|
then
|
|
```bash
|
|
yq 'del(.b)' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
{a: cat}
|
|
```
|
|
|
|
## Delete nested entry in map
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
{a: {a1: fred, a2: frood}}
|
|
```
|
|
then
|
|
```bash
|
|
yq 'del(.a.a1)' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
{a: {a2: frood}}
|
|
```
|
|
|
|
## Delete entry in array
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
[1, 2, 3]
|
|
```
|
|
then
|
|
```bash
|
|
yq 'del(.[1])' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
[1, 3]
|
|
```
|
|
|
|
## Delete nested entry in array
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
[{a: cat, b: dog}]
|
|
```
|
|
then
|
|
```bash
|
|
yq 'del(.[0].a)' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
[{b: dog}]
|
|
```
|
|
|
|
## Delete no matches
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
{a: cat, b: dog}
|
|
```
|
|
then
|
|
```bash
|
|
yq 'del(.c)' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
{a: cat, b: dog}
|
|
```
|
|
|
|
## Delete matching entries
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
{a: cat, b: dog, c: bat}
|
|
```
|
|
then
|
|
```bash
|
|
yq 'del( .[] | select(. == "*at") )' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
{b: dog}
|
|
```
|
|
|
|
## Recursively delete matching keys
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
{a: {name: frog, b: {name: blog, age: 12}}}
|
|
```
|
|
then
|
|
```bash
|
|
yq 'del(.. | select(has("name")).name)' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
{a: {b: {age: 12}}}
|
|
```
|
|
|