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 

  • Текстовая обработка только для условий, встречающихся в строке X до Y
  • Группируйте содержимое файла двумя полями и суммируйте третье поле
  • Замените данные на определенный символ, затем измените значение после x строк
  • добавить в файл добавочный столбец идентификатора
  • Комментируйте разделы текста, соответствующие определенным идентификаторам, перечисленным в другом файле
  • Развертывание одной строки на две строки на основе определенных столбцов
  • Есть ли более элегантный способ подсчета слов и присвоение этому числу переменных?
  • Как получить строки, чей n-й столбец содержит m-й столбец
  • One Solution collect form web for “awk – функция gensub”

    Пытаться:

     gawk ' BEGIN { a = "abc15d56ef" c=".*([0-9][0-9])d([0-9][0-9]).*" b = gensub(c, "\\2 \\1", "", a) print b }' 56 15 
    Linux и Unix - лучшая ОС в мире.