vendredi 12 janvier 2018

Awk - store line that matched range pattern start

I use awk to operate on lines within a range, but I need to use the line the matched the range pattern start in my action.

Now I am doing this:

awk '/BANANA/,/END/ {if ($0 ~ /BANANA/) line=$0; print line, $2}' infile.txt

Is there a more elegant way of doing this? A way that does not require me to store $0 at the beginning of the range? Does awk keep this line somewhere?

Thanks and best regards

Aucun commentaire:

Enregistrer un commentaire