awk - gensub 函数

Mik*_*ike 3 awk

我需要将变量的内容插入到参数函数gensub中awk,特别是而不是正则表达式的参数。

我有:

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

输出

output:56 15
Run Code Online (Sandbox Code Playgroud)

我需要它采用这种形式,但它不起作用:

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

输出

output:56 15
Run Code Online (Sandbox Code Playgroud)

Scr*_*zer 5

尝试:

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
Run Code Online (Sandbox Code Playgroud)

-- 编辑:@luckman212 评论后在第三个字段中添加数字