Idiomatic awk

learnbyexample@programming.dev to Linux@lemmy.ml – 29 points –
backreference.org
4

Does anyone here actually use awk for more than trivial operations? If I ever have to have to consider writing anything substantial with bash/awk/sed/etc, I just start writing a Python script. No hate to the classic tools, but Python is just really nice.

If find myself writing anything I'd call a "program" (rather than just a script) in bash then it's time to think about using a proper language rather than a shell script, let alone awk or sed!

I've reached for some complex awk when I am looking to parse snippets of code where breaking out a full language parser would have been too much.

One example is parsing statements from a Dockerfile but only within certain stages of the image. So I reach for regex range in awk and I can make something that works everywhere.

Of course I probably could have done the same thing in python by controlling the beginning and end via variables, but I like awk sometimes.

Yeah. Heaviest awk I've ever done is extracting a value to a variable from a line with one pattern and using it to populate output from later lines matching another pattern.