echo abbc | awk '{ print gensub(/a(b*)c/, "Here are bees: \\1", "g", $1);}'
See manual here to see the difference between gsub and gensub
Per the gawk manual
gensub provides an additional feature that is not available in sub or gsub: the ability to specify components of a regexp in the replacement text. This is done by using parentheses in the regexp to mark the components and then specifying ‘\N’ in the replacement text, where N is a digit from 1 to 9.
You must use gensub, you must specify "g", and you must grab the result of gensub, since it does not modify in-place.
awk '{ r = gensub(/a(b*)c/, "Here are bees: \\1", "g"); print r; }'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With