awk - gensub 函数

awk - gensub 函数

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

我有:

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 评论后在第三个字段中添加数字

相关内容