jq って JSON をいじるには本当に便利で shell で済んじゃうような何かをする時には重宝してます。
ただ最近は YAML ファイルが頻繁に使われる状況なので jq のような奴の YAML 版が欲しいと思ってた。
PyPI に yq なるものがあった。
How to yq
$ pip install yq
$ yq
usage: yq [-h] [--yaml-output] [--width WIDTH] [--version]
jq_filter [files [files ...]]
yq: error: too few arguments
$ cat sample.yaml | yq '.'
{
"version": "2"
}
$ cat sample.yaml | yq -y '.'
version: '2'
普通に使える!以上!
補足
- jq を入力無しに使う
jq -n '{}|.version = "2"'
のような-n
オプションが yq では使えません (他にもあるかも) - Mac で
brew install yq
とするとなんかインストールできるけど、上述の yq とは異なるツールなので注意