vnlog
RecordStream
Our great sponsors
vnlog | RecordStream | |
---|---|---|
24 | 3 | |
158 | 298 | |
- | - | |
6.7 | 2.6 | |
4 months ago | almost 4 years ago | |
Perl | Perl | |
- | GNU General Public License v3.0 or later |
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.
vnlog
- Vnlog: Process labelled tabular ASCII data using normal Unix tools
- Process tabular data with Unix tools
-
Qsv: Efficient CSV CLI Toolkit
For simple analyses (i.e. what most people do most of the time) doing this on the commandline gets you there faster. I use vnlog (https://github.com/dkogan/vnlog/). By the time you fired up your editor to write your Python code, I already have analyses and plots ready.
-
Joining CSV Data Without SQL: An IP Geolocation Use Case
Alternative very appropriate for some uses cases: `vnl-join` from the vnlog toolkit (https://github.com/dkogan/vnlog). Uses the `join` tool from coreutils (works well, has been around forever), and `vnlog` for nice column labelling
-
Miller: Like Awk, sed, cut, join, and sort for CSV, TSV, and tabular JSON
There's also https://github.com/dkogan/vnlog/ which is a wrapper around the existing coreutils, so all the options work, and there's nothing to learn
- vnlog: making awk and sort and join (and friends) smarter
-
Awk equivalents to SQL query data manipulation
And to improve the ergonomics, the vnlog wrappers are available to operate on field names, while retaining the internals of the core tools:
https://github.com/dkogan/vnlog/
- Vnlog: Making Awk, grep, sort and join smarter
-
Learn to Process Text in Linux Using Grep, Sed, and Awk
I sorta, kinda agree. Tools written in AWK (and friends) are indeed somewhat unmaintainable, but they're really close to being just right for a LOT of applications. The vnlog toolkit (https://github.com/dkogan/vnlog) adds just a little bit of syntactic sugar to the usual commandline tools to make processing scripts robust and easy to read and write. This was not my intent initially, but I now do most of my data processing with the shell and vnl-wrapped awk (and sort and join, ...) It's really nice. If you write stuff in awk, you should check it out. (Disclaimer: I'm the author)
- Extending Awk with Field Labels
RecordStream
-
Miller – tool for querying, shaping, reformatting data in CSV, TSV, and JSON
It's interesting watching these types of tools get re-invented periodically:
https://github.com/benbernard/RecordStream
It shows the unix model of many small, composable tools is very powerful, but also shows that POSIX is missing some essential pieces that everyone keeps trying to add/reinvent.
-
Miller CLI – Like Awk, sed, cut, join, and sort for CSV, TSV and JSON
I don't know about MillerCLI's portability, but RecordStream (https://github.com/benbernard/RecordStream) is my go to swiss army knife.
-
A Lisp REPL as my main shell (article)
That record/field parsing library would be a tool to handle a broad category of command-line programs. Once the library has broken the input stream into a collection of records and fields, another layer would then turn them into internal representations. The JSON-based RecordStream tools are illustrative here: there are some tools that parse based on a delimiter or a regular expression, some that parse documented generic non-JSON formats like XML, and some that parse application-specific files like tcpdump outputs. In a Lisp world, all of the dedicated stream manipulation tools are redundant, and you avoid parsing and printing at every step in the chain.
What are some alternatives?
ttyplot - a realtime plotting utility for terminal/console with data input from stdin
ocaml-containers - A lightweight, modular standard library extension, string library, and interfaces to various libraries (unix, threads, etc.) BSD license.
matplotplusplus - Matplot++: A C++ Graphics Library for Data Visualization 📊🗾
DataProfiler - What's in your data? Extract schema, statistics and entities from datasets
nvim-ipy - IPython/Jupyter plugin for Neovim
jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]
jupytext.vim - Vim plugin for editing Jupyter ipynb files via jupytext
rq - Record Query - A tool for doing record analysis and transformation
matplotlib - C++ wrappers around python's matplotlib
miller - Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
feedgnuplot - Tool to plot realtime and stored data from the commandline, using gnuplot.
jq - Command-line JSON processor