| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| goawk_v1.29.0_darwin_amd64.tar.gz | 2024-09-18 | 1.4 MB | |
| goawk_v1.29.0_darwin_arm64.tar.gz | 2024-09-18 | 1.3 MB | |
| goawk_v1.29.0_linux_386.tar.gz | 2024-09-18 | 1.4 MB | |
| goawk_v1.29.0_linux_amd64.tar.gz | 2024-09-18 | 1.4 MB | |
| goawk_v1.29.0_linux_arm64.tar.gz | 2024-09-18 | 1.3 MB | |
| goawk_v1.29.0_windows_386.zip | 2024-09-18 | 1.4 MB | |
| goawk_v1.29.0_windows_amd64.zip | 2024-09-18 | 1.5 MB | |
| README.md | 2024-09-18 | 853 Bytes | |
| v1.29.0_ opt-in Unicode chars mode source code.tar.gz | 2024-09-18 | 1.7 MB | |
| v1.29.0_ opt-in Unicode chars mode source code.zip | 2024-09-18 | 2.0 MB | |
| Totals: 10 Items | 13.5 MB | 1 | |
This release adds Unicode chars mode with goawk -c (or by setting Config.Chars to true when using the Go API). The default is bytes mode as it was before (except that printf %c used chars mode by default as of v1.28.0 -- now it only does if chars mode is enabled). Note that this is the same default as mawk, but the opposite of Gawk (which uses gawk -b to switch to bytes mode).
Chars mode applies to index(), length(), match() (including RSTART and RLENGTH), substr(), and printf's %c verb.
For example, as of version v1.29.0, you can do this:
$ goawk 'BEGIN { print length("a"), length("絵") }'
1 3
$ goawk -c 'BEGIN { print length("a"), length("絵") }'
1 1
Full Changelog: https://github.com/benhoyt/goawk/compare/v1.28.1...v1.29.0