As I commented here, I typically try to master the languages I use. But for some languages, like
sed, it makes sense to learn just a small, powerful subset. (The larger a language is, the harder it can be to just learn part of it because the features intertwine.) Krumins’ book would be good for someone looking to learn just a little awk rather than wanting to explore every dark corner of the language.
Awk One-Liners Explained is exactly what title would lead you to expect. It has 70
awk one-liners along with a commentary on each. Some of the one-liners solve common specific problems, such as converting between Windows and Unix line endings. Most of the one-liners are solutions to general types of problems rather than code anyone is likely to run verbatim. For example, one of the one-liners is
Change “scarlet” or “ruby” or “puce” to “red.”
I doubt anybody has ever had to solve that exact problem, but it’s not hard to imagine wanting to do something similar.
Because the book is entirely about one-line programs, it doesn’t cover how to write complex programs in
awk. That’s perfect for me. If something takes more than one line of
awk, I probably don’t want to use
awk. I use
awk for quick file filtering. If a task requires writing several lines of code, I’d use Python.
You can get an idea of the style of the book by reading the author’s blog post Famous Awk One-Liners Explained, Part I: File Spacing, Numbering and Calculations.
If you’d like to learn the basics
awk by receiving one tip per day, you can follow @SedAwkTip on Twitter.