gensub でのグループ化と置換
元はこちらです。
awk で正規表現のグループ化(Pythonで言うとm.group(1)とか、あれ)があるかないかが良く分からん。ちょっと調べた限りだとないように見える。普通の人はそこまでやったら普通sedか何かなんだろうか
2007/10/28 の出来事 - 真 もわ爛漫
Python の m.group とも違っているような気がしますし、あまり私も使用いているわけではありませんが、コメントさせていただきました。
以下のようなものでいいのでしょうか? (それすら曖昧で申し訳ありません)
$ echo 'abcdefg' | gawk '{print gensub(/(ab).+(fg)/, "\\2 \\1", "g")}' fg ab
詳細は 8.1.3 文字列操作関数 の gensub() のところに書かれています。