A POSIX-compliant AWK interpreter written in Go, with CSV support (by benhoyt)

Goawk Alternatives

Similar projects and alternatives to goawk

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better goawk alternative or higher similarity.

goawk reviews and mentions

Posts with mentions or reviews of goawk. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-29.
  • The Awk Programming Language, Second Edition
    18 projects | news.ycombinator.com | 29 Jun 2023
    TIL: GoAWK [1] - A POSIX-compliant AWK interpreter written in Go, with CSV support.

    [1]: https://github.com/benhoyt/goawk

  • Anyone else doing compiler work in Golang?
    10 projects | /r/golang | 28 Feb 2023
    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
    9 projects | /r/commandline | 27 Feb 2023
    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.
  • Looking for programming languages created with Go
    23 projects | /r/golang | 6 Nov 2022
    There are quite a few re-implementations of scripting languages like Lua in Go. I've written an AWK interpreter in Go.
    23 projects | /r/golang | 6 Nov 2022
    There is an AWK interpreter with CSV support called GoAWK https://github.com/benhoyt/goawk
  • Oracle DB support in Benthos
    8 projects | /r/golang | 7 Oct 2022
    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)
    13 projects | news.ycombinator.com | 20 Aug 2022
    This sounds reasonable. When the GoAWK creator tried to add Unicode support through UTF-8 he discovered that this had drastic performance implications (rendering some algorithms to be O(N^2) instead of O(N)), if done naive https://github.com/benhoyt/goawk/issues/35. Therefore the change was reverted till the more efficient implementation can be found.
    13 projects | news.ycombinator.com | 20 Aug 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?
    7 projects | news.ycombinator.com | 18 Jul 2022
    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.
  • Go 1.19 Release Candidate 1 is released
    2 projects | /r/golang | 7 Jul 2022
    A benchmark: https://github.com/benhoyt/goawk/issues/121 New things: jump tables
  • A note from our sponsor - WorkOS
    workos.com | 15 Apr 2024
    The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →


Basic goawk repo stats
8 days ago

benhoyt/goawk is an open source project licensed under MIT License which is an OSI approved license.

The primary programming language of goawk is Go.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives