structured-text-tools
gron
structured-text-tools | gron | |
---|---|---|
13 | 64 | |
6,870 | 13,520 | |
- | - | |
8.1 | 0.0 | |
30 days ago | 6 months ago | |
Go | ||
- | 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.
structured-text-tools
- Command line tools for manipulating structured text data
-
creating a text file in Linux
This works well in scripts and logs of all the commands you need to do to reproduce the current state of the system from a scratch install. Also can be used with diff -u and patch, sed, perl, and awk oneliners and structured text tools. You can also capture most of the commands using sudo logging feature but it won't capture the here documents. But for modest size files you can use newlines in echo commands. Note that commands which use redrection should use something like ~~~~ sudo bash -c "echo 'foo' >>file.txt" ~~~~ instead of "sudo echo foo >>file.txt" or "echo foo | sudo tee -a file.txt
-
Using Commandline to Process CSV Files
TFA is about how to handle csv files with awk. This might be useful in straightforward cases.
For all others Iād recommend to have a look at
https://github.com/dbohdan/structured-text-tools
which lists tools to handle structure text formats
-
Combine multiple files
in general, I'd pick something from https://github.com/dbohdan/structured-text-tools
- Show HN: Xq ā command-line XML and HTML beautifier and content extractor
- structured-text-tools: A list of command line tools for manipulating structured text data
- A list of command line tools for manipulating structured text data
-
What is your favourite Linux backup software and why?
Also, here is a list of structured text tools. You may find some tools there that are helpful in editing configuration files from the command line. Or you can use "diff -u" to create a patch file (you need to save the patch files along with sudo.log) to recreate. Also, use sfdisk --dump and sfdisk --backup to save partition information in a form that can be used to recreate backups.
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?
yq - yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor
jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]
tsv-utils - eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.
jfq - JSONata on the command line
python-benedict - :blue_book: dict subclass with keylist/keypath support, built-in I/O operations (base64, csv, html, ini, json, pickle, plist, query-string, toml, xls, xml, yaml), s3 support and many utilities.
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.
concise-encoding - The secure data format for a modern world
pup - Parsing HTML at the command line
datasette - An open source multi-tool for exploring and publishing data
JsonPath - Java JsonPath implementation
awesome-cli-apps - š„ š š¹ š A curated list of command line apps
fx - Terminal JSON viewer & processor