Download Latest Version goawk_v1.30.1_linux_386.tar.gz (1.4 MB)
Email in envelope

Get an email when there's a new version of GoAWK

Home / v1.30.0
Name Modified Size InfoDownloads / Week
Parent folder
goawk_v1.30.0_windows_amd64.zip 2025-11-02 1.6 MB
goawk_v1.30.0_windows_386.zip 2025-11-02 1.5 MB
goawk_v1.30.0_linux_arm64.tar.gz 2025-11-02 1.4 MB
goawk_v1.30.0_linux_amd64.tar.gz 2025-11-02 1.5 MB
goawk_v1.30.0_linux_386.tar.gz 2025-11-02 1.4 MB
goawk_v1.30.0_freebsd_arm.tar.gz 2025-11-02 1.4 MB
goawk_v1.30.0_freebsd_amd64.tar.gz 2025-11-02 1.5 MB
goawk_v1.30.0_darwin_arm64.tar.gz 2025-11-02 1.4 MB
goawk_v1.30.0_darwin_amd64.tar.gz 2025-11-02 1.5 MB
README.md 2025-11-02 904 Bytes
v1.30.0_ -N crlf mode, leftmost-longest regexes source code.tar.gz 2025-11-02 1.7 MB
v1.30.0_ -N crlf mode, leftmost-longest regexes source code.zip 2025-11-02 2.0 MB
Totals: 12 Items   16.8 MB 0

This release adds one small new feature and fixes a subtle but long-standing bug:

  • The new feature is the -N mode command-line option (and corresponding interp.Config field NewlineOutput) to control newline translation on output. Currently the default is "smart", meaning no translation (-N raw) on Unix/Linux and translate LF to CR LF (-N crlf) on Windows, but you can override the OS-based default with the -N option. Thanks @hymkor for the contribution.
  • The bug fix is that previously GoAWK used the Go default of "leftmost-first matching", whereas other AWKs use "leftmost-longest matching". So switch to that using the Regexp.Longest method.

This release also includes a small performance improvement to the postincr/postdecr bytecode by @triallax in https://github.com/benhoyt/goawk/pull/253.

Full Changelog: https://github.com/benhoyt/goawk/compare/v1.29.1...v1.30.0

Source: README.md, updated 2025-11-02