goawk
tsv-utils
Our great sponsors
goawk | tsv-utils | |
---|---|---|
19 | 10 | |
1,885 | 1,396 | |
- | 0.6% | |
7.1 | 0.0 | |
7 days ago | over 1 year ago | |
Go | D | |
MIT License | Boost Software License 1.0 |
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.
goawk
- GoAWK, an Awk interpreter written in Go (2018)
-
The Awk Programming Language, Second Edition
TIL: GoAWK [1] - A POSIX-compliant AWK interpreter written in Go, with CSV support.
[1]: https://github.com/benhoyt/goawk
- Looking for a script for csv file
-
Anyone else doing compiler work in Golang?
Another nice project that I have used from time to time (and a very good source for insight) is the awk interpreter written in go https://github.com/benhoyt/goawk
-
Tool to interact with CSV
No, I want exactly the opposite - it should be a , b,c as a single string field containing a literal comma, and c. For example, https://github.com/benhoyt/goawk has csv support. https://github.com/benhoyt/goawk/blob/master/docs/csv.md - more info.
-
Why does awk parse '1&&x=1' as '1&&(x=1)' not '(1&&x)=1' when '&&' is high precedence than '='?
I've had a go at solving this in this PR -- feedback welcome. I don't love it, but oh well, it solves the problem at hand. Your comment pointed me in the right direction, thanks again.
-
Looking for programming languages created with Go
There are quite a few re-implementations of scripting languages like Lua in Go. I've written an AWK interpreter in Go.
-
Oracle DB support in Benthos
github.com/benhoyt/goawk -> this library lets you embed an AWK runtime in your applications, very easy to use and useful for enabling some powerful scripting in things you build
-
Brian Kernighan adds Unicode support to Awk (May, 2022)
Yes, that's right. With my simplistic UTF-8-based implementation it turned length() -- for example -- from O(1) to O(N), turning O(N) algorithms which use length() into O(N^2). See this issue: https://github.com/benhoyt/goawk/issues/93
Similar with substr() and other string functions, which when operating as bytes are O(1), but become O(N) when trying to count the number of codepoints as UTF-8.
GNU Gawk has a fancier approach, which stores strings as UTF-8 as long as it can, but converts to UTF-32 if it needs to (eg: the string is non-ASCII and you call substr).
It looks like Brian Kernighan's code has the same issue with length() and substr(). I'm going to try to email him about this, as I think it's kind of a performance blocker.
-
Ask HN: Is having a Personal blog/brand worth it for you?
I'm not sure if it was via my personal website or just my GitHub profile, but I got my current job at Canonical due to the CTO there reaching out about my GoAWK project (https://github.com/benhoyt/goawk). I get regular recruitment emails because I have my CV/resume online: most of them are very low-effort, but 1 in 20 or something are interesting emails where the recruiter has actually looked at my website and will tailor it personally. I also just enjoy technical writing, and get joy out of sharing it on HN. So it's "worth it" for me.
tsv-utils
-
Frawk: An efficient Awk-like programming language. (2021)
If you need just csv/tsv parsing, you can also take a look at https://github.com/eBay/tsv-utils
-
Tracking SQLite Database Changes in Git
You might want to look at tsv-utils, or a similar project: https://github.com/eBay/tsv-utils
For the SQL part, but maybe a lot heavier, you can use one of the projects listed on this page: https://github.com/multiprocessio/dsq (No longer maintained, but has links to lots of other projects)
-
I feel like an idiot but… I need Excel help.
TSV is most often a better format than CSV. Localization, in particular, is a nightmare with CSV.
- Splitting CSV files at 3GB/s
-
Modernizing AWK, a 45-year old language, by adding CSV support
For anything down and dirty, what's wrong with -F'"'? For anything fancy there are plenty of things like the below.
eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.
includes csv to tsv: https://github.com/eBay/tsv-utils
HT: https://simonwillison.net/
-
Dlang 2.098.0 released, now available on OpenBSD
As an example, eBay's tsv-utils took full advantage of the GC and performed better than existing programs that had been hand-optimized in C etc.
-
[OC]Tidy Viewer (tv) is a cross-platform csv pretty printer that uses column styling to maximize viewer enjoyment.
tsv-utils - Command line csv data manipulation toolkit. D
-
Changing Registry Key Value Based on Contents of TXT/CSV File
In the majority of cases you'll be better off with Tab Separated Values over Comma Separated Values. More info here.
-
Return 1 to N results from a large (19MM line) CSV
May well be overkill for your needs, but I'm a fan of tsv-utils It's fast and enormously flexible, and seems to me a "best of breed" toolset for data mining CSV files (that is what it was written for). https://github.com/eBay/tsv-utils
What are some alternatives?
bytehound - A memory profiler for Linux.
dextool - Suite of C/C++ tooling built on LLVM/Clang
awka - Revive awka - Awk to C Compiler
structured-text-tools - A list of command-line tools for manipulating structured text data
intellij-awk - The missing IntelliJ IDEA language support plugin for AWK
csvtk - A cross-platform, efficient and practical CSV/TSV toolkit in Golang
tumblelog - A static tumblelog generator available as both a Perl and Python version
q - Quick and dirty debugging output for tired programmers. ⛺
awk - One true awk
zsv - zsv+lib: world's fastest (simd) CSV parser, bare metal or wasm, with an extensible CLI for SQL querying, format conversion and more
bashcc - C compiler written in Bash script
xsv - A fast CSV command line toolkit written in Rust.