A colleague was tinkering with Mike Farah's excellent yq tool, and had asked about updating it on his Mac.
I've got yq installed via Homebrew: -
brew update
which threw up: -
Error:
homebrew-core is a shallow clone.
To `brew update`, first run:
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
so I did this: -
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
and then: -
brew upgrade yq
which resulted in the latest version: -
yq --version
yq version 4.5.1
Subsequently, my friend was then looking to use the evaluate feature of yq to run queries against YAML documents, with the query string being defined in an environment variable.
Therefore, I had to try this ...
Firstly, I created sample.yaml
name:
- Ben
- Dave
- Tom
- Jerry
which yq correctly evaluates: -
name:
- Ben
- Dave
- Tom
- Jerry
and: -
yq eval .name sample.yaml
- Ben
- Dave
- Tom
- Jerry
I then set the environment variable to define my search query: -
and updated my yq query: -
yq eval ".name = \"$FRIEND\"" sample.yaml
name: Ben
and then changed my variable: -
export FRIEND="Tom"
and re-ran my query: -
yq eval ".name = \"$FRIEND\"" sample.yaml
name: Tom
Thanks to this: -
https://mikefarah.gitbook.io/yq/commands/evaluate
No comments:
Post a Comment