libxo
gron
libxo | gron | |
---|---|---|
17 | 64 | |
302 | 13,520 | |
2.0% | - | |
9.7 | 0.0 | |
15 days ago | 6 months ago | |
C | Go | |
BSD 2-clause "Simplified" License | MIT License |
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.
libxo
-
jc: Converts the output of popular command-line tools to JSON
> In FreeBSD, this problem was solved with libxo[0]:
Libxo happens to be in the base system, but it is generally available:
* https://github.com/Juniper/libxo
* https://libxo.readthedocs.io/en/latest/
- Libxo: The Easy Way to Generate Text, XML, JSON, and HTML Output
-
Getting work done with PowerShell on Linux
Or make it flexible:
> libxo - A Library for Generating Text, XML, JSON, and HTML Output
* https://github.com/Juniper/libxo/
* https://wiki.freebsd.org/LibXo
Want structure? Ask for JSON or XML and parse. Otherwise it's the regular text output.
- Libxo: Generate text/XML/JSON structured output in one code path
-
Jc – JSONifies the output of many CLI tools
Can you trust it? Cli tool output is not exactly stable. I thought that's why libxo exists?
https://github.com/Juniper/libxo
- Libxo: Library for Generating Text, XML, JSON, and HTML Output
-
Curl gets a --json flag
Please consider https://github.com/Juniper/libxo or something even better than that.
-
You shouldn't parse the output of ls(1)
That would look a lot like FreeBSD. Many of the FreeBSD userland tools are set up to use the excellent libxo (https://github.com/Juniper/libxo) to allow the user's choice of how things are output.
- The growth of command line options, 1979-Present
- Tips on Adding JSON Output to Your CLI App
gron
-
Frawk: An efficient Awk-like programming language. (2021)
gron (https://github.com/tomnomnom/gron) to transform it and query and then invert the transformation?
- Show HN: Flatito, grep for YAML and JSON files
- Gron: Make JSON greppable
-
Make JSON Greppable
It buffers all of its output statements in memory before writing to stdout:
https://github.com/tomnomnom/gron/blob/master/main.go#L204
- Ask HN: What are some unpopular technologies you wish people knew more about?
-
Jaq – A jq clone focused on correctness, speed, and simplicity
Have you tried `gron`?
It converts your nested json into a line by line format which plays better with tools like `grep`
From the project's README:
▶ gron "https://api.github.com/repos/tomnomnom/gron/commits?per_page..." | fgrep "commit.author"
json[0].commit.author = {};
json[0].commit.author.date = "2016-07-02T10:51:21Z";
json[0].commit.author.email = "[email protected]";
json[0].commit.author.name = "Tom Hudson";
https://github.com/tomnomnom/gron
It was suggested to me in HN comments on an article I wrote about `jq`, and I have found myself using it a lot in my day to day workflow
-
Interactive Examples for Learning Jq
> So all I want is a tool to go from json => line oriented and I will do the rest with the vast library of experience I already have at transformations on the command line.*
The tool for that is likely https://github.com/tomnomnom/gron
-
Modern Linux Tools vs. Unix Classics: Which Would I Choose?
If JQ is too much, see GRON &| Miller
gron transforms JSON into discrete assignments to make it easier to grep for what you want https://github.com/tomnomnom/gron
Miller is like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON https://github.com/johnkerl/miller
- XML is better than YAML
-
jq 1.7 Released
And jless [1] and gron [2].
This is the first I'm hearing of gron, but adding here for completeness sake. Meanwhile, JSON seems to be becoming a standard for CLI tools. Ideal scenario would be if every CLI tool has a --json flag or something similar, so that jc is not needed anymore.
[1] https://jless.io/
[2] https://github.com/tomnomnom/gron
What are some alternatives?
pdfalto - PDF to XML ALTO file converter
jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]
elvish - Powerful scripting language & Versatile interactive shell
jfq - JSONata on the command line
jtbl - CLI tool to convert JSON and JSON Lines to terminal, CSV, HTTP, and markdown tables
xidel - Command line tool to download and extract data from HTML/XML pages or JSON-APIs, using CSS, XPath 3.0, XQuery 3.0, JSONiq or pattern matching. It can also create new or transformed XML/HTML/JSON documents.
PSReadLine - A bash inspired readline implementation for PowerShell
pup - Parsing HTML at the command line
oil - Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
JsonPath - Java JsonPath implementation
Rustlings - :crab: Small exercises to get you used to reading and writing Rust code!
fx - Terminal JSON viewer & processor