1
0
mirror of https://github.com/taigrr/yq synced 2025-01-18 04:53:17 -08:00
Matthew Huxtable 8072e66d46 Add delete command
The delete (short option "d") will delete the YAML subtree at the
provided path in the specified file (or STDIN), if it the node exists.

More complex support is currently omitted, for example:

  - specify nodes to delete using an external script
  - deleting common elements from all elements of an array
2018-05-07 15:52:29 +10:00
2017-12-19 11:59:27 +11:00
2017-12-18 15:29:41 +11:00
2018-02-19 08:23:30 +11:00
2017-09-27 07:05:18 -04:00
2018-04-09 15:58:12 +10:00
2018-05-07 15:52:29 +10:00
2018-05-07 15:52:29 +10:00
2017-12-18 15:29:41 +11:00
2017-02-10 16:00:25 +11:00
2018-02-19 08:23:30 +11:00
2017-12-18 15:29:41 +11:00
2017-09-23 14:45:59 +10:00
2017-09-23 14:45:59 +10:00
2017-12-19 11:59:27 +11:00
2017-09-23 08:37:34 +10:00
2018-02-19 14:50:46 +11:00
2018-04-09 15:58:12 +10:00
2018-05-07 15:52:29 +10:00
2018-05-07 15:52:29 +10:00

yq Build Status

a lightweight and portable command-line YAML processor

The aim of the project is to be the jq or sed of yaml files.

Install

On MacOS:

brew install yq

On Ubuntu and other Linux distros supporting snap packages:

snap install yq

or, Download latest binary or alternatively:

go get github.com/mikefarah/yq

Run with Docker

Oneshot use:

docker run -v ${PWD}:/workdir mikefarah/yq yq [flags] <command> FILE...

Run commands interactively:

docker run -it -v ${PWD}:/workdir mikefarah/yq sh

Features

  • Written in portable go, so you can download a lovely dependency free binary
  • Deep read a yaml file with a given path
  • Update a yaml file given a path
  • Update a yaml file given a script file
  • Update creates any missing entries in the path on the fly
  • Create a yaml file given a deep path and value
  • Create a yaml file given a script file
  • Convert from json to yaml
  • Convert from yaml to json
  • Pipe data in by using '-'
  • Merge multiple yaml files where each additional file sets values for missing or null value keys.
  • Merge multiple yaml files with overwrite to support overriding previous values.

Usage

Check out the documentation for more detailed and advanced usage.

Usage:
  yq [flags]
  yq [command]

Available Commands:
  help        Help about any command
  merge       yq m [--inplace/-i] [--overwrite/-x] sample.yaml sample2.yaml
  new         yq n [--script/-s script_file] a.b.c newValueForC
  read        yq r sample.yaml a.b.c
  write       yq w [--inplace/-i] [--script/-s script_file] sample.yaml a.b.c newValueForC

Flags:
  -h, --help      help for yq
  -j, --tojson    output as json
  -t, --trim      trim yaml output (default true)
  -v, --verbose   verbose mode
  -V, --version   Print version information and quit

Use "yq [command] --help" for more information about a command.

Contribute

  1. make [local] vendor
  2. add unit tests
  3. apply changes
  4. make [local] build
  5. profit
Description
yq is a portable command-line YAML processor
Readme 9.5 MiB
Languages
Go 96.9%
Shell 1.8%
Makefile 1%
Dockerfile 0.3%