Understanding Awk
There are things I've come to dislike and avoid when programming in general:- Avoid programming in strings (especially in Bash, where nested quotes are full of pitfalls)- Avoid magic switches that change behavior (like -F)- Avoid terse or cryptic variable names (like $NF)- Avoid terse and magical syntax (sorry Perl, happy to leave you behind me)- Avoid programs that are hard to read- Avoid programs that are difficult to debug while writing them- Avoid programs that ignore typesFor these reasons, I prefer to avoid awk for anything except the most trivial of tasks. I think the prevalence of scripting languages and the speed of execution and debugging today has made awk not as necessary as it may have been in the 70s. And as to the first point, I'm aware you can write awk scripts in files, and I feel like if your script has gotten complex enough that you need a file, you're creating something unmaintainable and unreadable that would be better suited in a different programming language.Edit: I should add this article is great and a good introduction to awk, regardless of my personal taste for the tool.