Somewhat related blog post which I like to refer people to: "Command-line Tools can be 235x Faster than your Hadoop Cluster" https://adamdrake.com/command-line-tools-can-be-235x-faster-...
Somewhat related blog post which I like to refer people to: "Command-line Tools can be 235x Faster than your Hadoop Cluster" https://adamdrake.com/command-line-tools-can-be-235x-faster-...
Chapter 2 of The AWK Programming Language has incredible benefits for a novice.
https://archive.org/download/pdfy-MgN0H1joIoDVoIC7/The_AWK_P...
<line-condition> { <code> }
That's unusual enough among programming languages to call it odd. Being able to do stuff like if (/some-pattern/) { ...
and have the regex be evaluated like a condition where it matches with the current line implicitly is also pretty unique. if (/some-pattern/) { ...
This isn't really unique when you consider perl. while (<>) {
if (/pattern/) {
This does the same. Awk simply has the implicit loop.But it feels like it would be a net loss based on how seldom I currently need to write one-off scripts.
Based on experience, I'd probably have a perfect use-case for it every 2-3 years.
Sure, the days you'll need awk, you'll take 15 minutes instead of 2 writing your script. So what ?
But the rest of the year, you'll have a more versatile toolbox at your disposal for automatic things, testing, prototype network processes, make quick web sites or API, and explore data sets.
That being said, I can see the point of learning awk because, well, it's fun.
And we already have that: it's called perl. :)
IMHO knowing what kinds of tools exist and how they are used for different tasks is enormously useful. Most software projects require me to create a set of tools to solve problems in a certain space efficiently. In any long-living non-trivial project there will be feature requests you couldn't have anticipated in the beginning. They tend to be painful if your program is just a bunch of features hacked together. But if you take a tools-first approach, the unexpected features can often be solved with what you have.
Of course, time is limited and you can't learn everything. But learning one of every different kind of tool is a very good use of time.
EDIT: Note that I'm not claiming you'll build a web app with awk. I'm saying you might write code that can be used similarly to awk in some abstract sense, and that might be a core part of a web app.