How can I use line continuations in GNU awk?
How can I use line continuations in GNU awk?
For a reason not worth mentioning here, I would like to write a somewhat more complex awk
script in which I would have to explain in detail what I am doing. (If only so that I'll still know next week.) There doesn't seem to be a way to wrap a list of conditions in GNU awk
, right?
This is what I tried:
shell
command-that-prints-a-table | awk ' NR>1 && # Skip line 1 NF>2 && # Skip lines with only one column substr($1,1,1) != "(" # Skip lines that start with a "(" { print $1 } '
Alas, that does not work - awk
skips the conditions entirely and only runs print $1
. It seems that escaping the newlines does not work either, which makes sense as the end of the lines are comments.
This would work:
shell
command-that-prints-a-table | awk ' # - Skip line 1 # - Skip lines with only one column # - Skip lines that start with a "(" NR>1 && NF>2 && substr($1,1,1) != "(" { print $1 } '
But - my original code has a few more conditions - it is rather annoying to read and maintain. Is there an elegant way to fix this?