CAWKLib

CAWKLib

CAWKlib is a library of functions for for awk intended to be used with preprocessors/wrappers like app, runawk, or bangcawk. The focus has been mostly on implementing functionality that exists in other dynamic languages "out of the box" but requires some (non?)trivial work for the uninitiated in awk.

Why the name CAWKLib?

The name CAWKLib was chosen by a series of references

  1. I was working on a Web Framework to be written in AWK called Cliff's Awesome Web (application) Kit or CAWK
    1. The official name would be less egotistical: CAWK's Another Web-app Kit
  2. I needed a pre-processor to handle the functions I was building and none of the existing ones (that I knew of) met my needs so I created BangCAWK?
    1. The name referenced the "shebang" line that it would replace/alter
    2. I thought "shebangawk" was quite lengthy and slightly vulgar
  3. Initially the libraries were "packaged" with BangCAWK? and thanks to some insight from others (thanks Ben) they were eventually pulled out into their own repository
    1. I'd run out of imaginative names at this point so I just called the thing CAWKLib

What sort of functionality is implemented in CAWKLib?

There is much more work to be done but here are some of the functions in CAWKlib as it is today arrays.awk:

strings.awk:

shc_test.awk:

More will come and this page may not be the best place to find out about updates. You should check the repository.

What sort of functionality will be implemented in the future?

Well that depends. The original goal was to make separate libraries from the tools that would be built for CAWK but work on that has slowed as I've been working with Orbit and Web2py. I'm still interested in implementing functionality found in other languages (in particular PHP, Lua, Python and Ruby). I'm open to suggestions for new features/functionality.

Where can I get it?

I'm currently hosting it on my git repository at http:git.secution.com/cgit/CAWKLib UPDATE: The repository is currently (temporarily) hosted on github at https:github.com/gcw/CAWKLib

How can I get it?

  1. Install git (The version control system not the image toolkit)
  2. run this command: git clone https://github.com/gcw/CAWKLib.git

How do I make suggestions/comments/bug reports

Send email to me at gcw (at) Not A Discussion (dot) com