frawk is a small programming language for writing short programs processing textual data. To a first approximation, it is an implementation of the AWK language; many common Awk programs produce equivalent output when passed to frawk. You might be interested in frawk if you want your scripts to handle escaped CSV/TSV like standard Awk fields, or if you want your scripts to execute faster.
The info subdirectory has more in-depth information on frawk:
frawk is dual-licensed under MIT or Apache 2.0.
In addition to installing Rust, you will need an
installation of LLVM 9.0 on your machine. See this site
for installation on Linux; brew install llvm@9
or similar seem to work on Mac
OS. Other versions of LLVM may work as well. While the LLVM backend is
recommended, it is possible to build frawk only with support for its bytecode
interpreter: to do so, build without the llvm_backend
feature.
With those prerequesites, cloning this repository and a cargo build --release
or cargo install --path <frawk repo path>
will produce a binary that you can
add to your PATH
if you so choose:
```
$ cd
$ cargo install --path .
$ cargo install --path . --no-default-features --features usejemalloc,allowavx2 ```
While there are no deliberate unix-isms in frawk, I have not tested it on Windows.
frawk has bugs. If you notice a bug in frawk, filing a bug with an explanation of how to reproduce the error would be very helpful. There are no guarantees on response time or latency for a fix. No one works on frawk full-time. The same policy holds for feature requests.