awk-gensub関数

awk-gensub関数

特に、正規表現のパラメータではなくパラメータ関数gensubに変数の内容を挿入する必要があります。awk

私は持っています:

gawk '
 BEGIN {
   a = "abc15d56ef";
   b = gensub(/.*([0-9][0-9])d([0-9][0-9]).*/, "\\2 \\1", "g", a);
   print b;
 }'

出力

output:56 15

この形式でなければなりませんが、機能しません。

gawk '
 BEGIN {
   a = "abc15d56ef";
   c="/.*([0-9][0-9])d([0-9][0-9]).*/";
   b = gensub(c, "\\2 \\1", "g", a);
   print b;
 }'

出力

output:56 15

答え1

努力する:

gawk '
 BEGIN {
   a = "abc15d56ef"
   c=".*([0-9][0-9])d([0-9][0-9]).*"
   b = gensub(c, "\\2 \\1", "1", a)
   print b
 }'
56 15

- 編集:@luckman212がコメントの後に3番目のフィールドに数字を追加しました。

関連情報