mg.sh
yq
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mg.sh
-
Shell Script Best Practices, from a decade of scripting things
I agree, getting to know where a script "comes from" can be complex though. You can `readlink -f` (or equivalent) in many cases, but when implementing a library this might not be entirely practical. I have had to rely on this ugly if-statement [1] for that purpose.
[1]: https://github.com/Mitigram/mg.sh/blob/cbeb206d67fe08be2107deee50acf877f990dbdf/bootstrap.sh#L6
yq
-
Show HN: Flatito, grep for YAML and JSON files
What I often use to just get the full key paths is yq (https://github.com/mikefarah/yq), piping into grep when necessary
yq -o=props
- K8s Service Meshes: The Bill Comes Due
- Using facts and the GitHub API in Ansible
- FLaNK 25 December 2023
-
Command line tools I always install on Ubuntu servers
For more information about this command visit https://github.com/mikefarah/yq
-
Runtime error with plugin that uses io.popen to run executable during plugin startup
I've been trying to install and config a plugin (papis.nvim) for a couple of days and am having issues with a function that uses io.popen to run yq to convert yaml files to json. I know my install of yq is fine- I can run yq -oj info.yaml from the command line with no issue and it produces the correct json output. I know the function can find the yq executable, but it returns nil. I've saved the error from the yq golang code: panic: runtime error: invalid memory address or nil pointer dereference
-
Jaq – A jq clone focused on correctness, speed, and simplicity
- yq has no if-then-else https://github.com/mikefarah/yq/issues/95 which is a poor design (or omission) in my opinion
-
HTTPie Desktop: cross-platform API testing client for humans
After which, I use openapi-generator to make a yaml output.
https://gist.github.com/freshteapot/3637e8d2b5ecdf01b7d25246...
- yq version 3.4.1 (Worth noting, the example uses an out of date yq, so a few modifictaions might be needed)
https://github.com/mikefarah/yq
-
jq 1.7
For those pining for a similar yaml query tool for working through acres of config: https://github.com/mikefarah/yq
jq is awesome and thanks to the new team for their recent efforts and energy, it massively appreciated.
-
That's a Lot of YAML
For anyone looking for such a script, there's some CLIs that make it easy. One is `yq -o props` [1], another way is to use `yq -j` or `yj` [2] to convert to JSON and pipe it to `gron` [3].
[1] https://github.com/mikefarah/yq
[2] https://github.com/sclevine/yj
[3] https://github.com/tomnomnom/gron
What are some alternatives?
bash-modules - Useful modules for bash
yq - Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents
zx - A tool for writing better scripts
jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]
pip - The Python package installer
yaml.nvim - 🍒 YAML toolkit for Neovim users
isort - A Python utility / library to sort imports.
csvq - SQL-like query language for csv
jc - CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.
oq - A performant, and portable jq wrapper to facilitate the consumption and output of formats other than JSON; using jq filters to transform the data.
nushell - A new type of shell
miller - Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON