awk - função gensub

3

Eu preciso inserir o conteúdo da variável na função do parâmetro gensub in awk , especificamente em vez do parâmetro da expressão regular.

Eu tenho:

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

saída

output:56 15

Eu preciso que ele esteja nesta forma, mas não funciona:

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

saída

output:56 15
    
por Mike 14.04.2013 / 22:36

1 resposta

5

Tente:

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

Tags