Re:Miller: Like Awk, sed, cut, join, and sort for CSV, TSV, ...
by holy_diver on Thursday March 16, 2023 @11:02AM
(#35182854)
DuckDB is actually pretty good at this kind of thing.
Doesn't need to load anything to DB
Can be used in shell
Can read from stdin and write to stdout
Re:Miller: Like Awk, sed, cut, join, and sort for CSV, TSV, ...
by avodonosov on Thursday March 16, 2023 @11:34AM
(#35183283)
csvsql is the first google result for "sql in command line for csv"
https://towardsdatascience.com/analyze-csvs-with-sql-in-comm...
Re:Miller: Like Awk, sed, cut, join, and sort for CSV, TSV, ...
by coldtea on Thursday March 16, 2023 @01:51PM
(#35185525)
Yes, I know. It's not that there isn't several ways to do it, it's that it's not really a good fit for the command line, except in the "I want to reuse SQL that I already know".
The problem isn't in having a way to use SQL to query the data from the command line, it's that SQL is long winded and with syntax not really fit in a traditional shell pipeline.
Re:Miller: Like Awk, sed, cut, join, and sort for CSV, TSV, ...
by avodonosov on Thursday March 16, 2023 @07:42PM
(#35190574)
I submitted a ticket: https://github.com/johnkerl/miller/issues/1235
It has far better handling of a CSV/TSV file on the command line directly and is compasable in shell pipelines.
>My point, if one wants cat, sort, sed, join on tabular data, SOL is exactly that.
SQL is a language for data in the form of tables in relational databases.
While it can do sorting or joining or some changes, it is meant for a different domain than these tools, which other constraints, other concerns, and other patterns of use...
You don't need to load anything to a db, for starters.
You also normally don't care for involving a DB in order to use in a shell script, or for quick shell exploration.
You also can't mix SQL and regular unix userland in a pipeline (well, with enough effort you can, but it's not something people do or need to do).